Python Selenium 爬虫:读取 CSV 文件并获取酒店信息
{
"title": "Python Selenium 爬虫:读取 CSV 文件并获取酒店信息",
"description": "使用 Python Selenium 爬虫框架读取 CSV 文件中的酒店 URL,然后使用 Selenium 遍历每个 URL,爬取供应商名称和价格,并将数据存储到 Excel 文件中。",
"keywords": "Python, Selenium, 爬虫, CSV, Excel, 酒店, 供应商, 价格",
"content": ""使用 Python Selenium 爬虫框架读取 CSV 文件中的酒店 URL,然后使用 Selenium 遍历每个 URL,爬取供应商名称和价格,并将数据存储到 Excel 文件中。"\n\npython\nimport csv\nfrom selenium import webdriver\nfrom selenium.webdriver.chrome.options import Options\nfrom selenium.webdriver.common.by import By\nfrom selenium.webdriver.support.ui import WebDriverWait\nfrom selenium.webdriver.support import expected_conditions as EC\nfrom openpyxl import Workbook\n\n# 读取 CSV 文件并获取 URL 列表\ndef get_urls_from_csv(file_path):\n urls = []\n with open(file_path, 'r') as file:\n reader = csv.DictReader(file)\n for row in reader:\n urls.append(row['url'])\n return urls\n\n# 使用 Selenium 爬取供应商名称和价格\ndef crawl_data(url):\n options = Options()\n options.add_argument('--headless') # 无界面模式\n driver = webdriver.Chrome(options=options)\n driver.get(url)\n \n # 等待页面加载完成\n wait = WebDriverWait(driver, 10)\n wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="supplier_name"]')))\n \n supplier_name = driver.find_element(By.XPATH, '//*[@id="supplier_name"]').text\n price = driver.find_element(By.XPATH, '//*[@id="price"]').text\n \n driver.quit()\n \n return supplier_name, price\n\n# 将数据写入 Excel 文件\ndef write_to_excel(data):\n workbook = Workbook()\n sheet = workbook.active\n sheet['A1'] = 'Supplier Name'\n sheet['B1'] = 'Price'\n \n for i, row in enumerate(data, start=2):\n sheet.cell(row=i, column=1, value=row[0])\n sheet.cell(row=i, column=2, value=row[1])\n \n workbook.save('output.xlsx')\n\nif __name__ == '__main__':\n urls = get_urls_from_csv('input.csv')\n \n data = []\n for url in urls:\n result = crawl_data(url)\n data.append(result)\n \n write_to_excel(data)\n\n\n在使用之前,你需要安装相应的依赖库,可以通过以下命令进行安装:\n\n\npip install selenium openpyxl\n\n\n需要注意的是,在使用 Selenium 之前,你需要下载对应浏览器的驱动程序,并将其路径配置到系统环境变量中。以上代码使用的是 Chrome 浏览器,你可以从 ChromeDriver 官网 下载对应版本的驱动程序。\n\n另外,代码中使用了一个 input.csv 文件作为输入,该文件需要与代码在同一目录下,并且需要保证 CSV 文件的格式为:\n\n\nurl\nhttp://example.com/hotel1\nhttp://example.com/hotel2\n...\n\n\n最后,爬取到的数据将会存储在 output.xlsx 文件中。\n
原文地址: https://www.cveoy.top/t/topic/pV4p 著作权归作者所有。请勿转载和采集!