selenium爬个网站 爬取几千条数据 用csv文件保存 求完整代码
时间: 2024-12-06 17:22:31 浏览: 15
Selenium主要是用于自动化浏览器操作,对于网页爬虫,通常需要配合如BeautifulSoup这样的库一起使用。以下是一个基本的Python示例,使用Selenium模拟浏览器、BeautifulSoup解析HTML内容,并将结果存储到CSV文件中。注意,这个示例假设你已经安装了`selenium`, `webdriver_manager`, 和 `pandas` 库。
```python
import csv
from selenium import webdriver
from bs4 import BeautifulSoup
from webdriver_manager.chrome import ChromeDriverManager
# 定义要爬取的URL
url = 'https://example.com' # 替换为你需要爬取的网站地址
output_file = 'output.csv'
def get_data(url):
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
# 获取页面源代码
page_source = driver.page_source
driver.quit()
soup = BeautifulSoup(page_source, 'html.parser')
# 解析数据(这里只是一个示例,你需要根据实际页面结构调整)
data_list = []
for item in soup.find_all('div', class_='your-class'): # 替换为你想要抓取的数据元素的CSS选择器
data_dict = {
'field1': item.get('data-field1'), # 根据实际情况替换字段名
'field2': item.find('span').text,
# 更多字段...
}
data_list.append(data_dict)
return data_list
def save_to_csv(data, filename):
with open(filename, 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
if __name__ == '__main__':
data = get_data(url)
save_to_csv(data, output_file)
阅读全文