当然可以使用Selenium库进行网页爬取。Selenium是一个用于自动化浏览器操作的工具,它可以模拟用户在浏览器中的操作,进而获取网页内容。
需要注意的是,使用Selenium进行爬取可能会比较慢,并且需要下载浏览器驱动。以下是使用Selenium和Chrome浏览器驱动下载能源产品产量各个季度的数据并保存为csv文件的示例代码:
- from selenium import webdriver
- import csv
- def scrape_data():
- # 下载Chrome浏览器驱动,并将驱动路径添加到系统环境变量中
- driver = webdriver.Chrome('驱动路径/chromedriver')
-
- url = '国家统计局网站上的数据页面URL'
- driver.get(url)
- data_list = []
- # 根据页面结构和元素选择器找到能源产品产量各个季度的数据所在的HTML元素,并提取数据
- table = driver.find_element_by_css_selector('css选择器')
- # 遍历表格行,提取数据
- rows = table.find_elements_by_tag_name('tr')
- for row in rows:
- cells = row.find_elements_by_tag_name('td')
- if len(cells) > 0:
- # 假设数据的格式为:季度|产量
- quarter = cells[0].text.strip()
- production = cells[1].text.strip()
- data_list.append([quarter, production])
- driver.quit()
- return data_list
- def save_to_csv(data):
- with open('energy_production.csv', 'w', newline='', encoding='utf-8') as file:
- writer = csv.writer(file)
- writer.writerow(['季度', '产量'])
- writer.writerows(data)
- # 调用函数进行爬取和保存
- data = scrape_data()
- save_to_csv(data)
复制代码
请确保将代码中的 `'驱动路径/chromedriver'` 替换为你本地Chrome浏览器驱动的实际路径。同时,根据实际页面结构和元素选择器修改代码以正确提取所需的数据。
Selenium可以模拟用户在浏览器中的操作,适用于需要进行交互或处理JavaScript渲染的网页。但在简单的静态页面爬取任务中,可以考虑使用requests和BeautifulSoup库来实现更快捷的爬取方式。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。