本次进行数据爬取
import time
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
driver = webdriver.Chrome('D:\ProgramData\Anaconda3\chromedriver.exe')
driver.get('')
# 将窗口调整最大
driver.maximize_window()
time.sleep(2)
current_window_1 = driver.current_window_handle
print(current_window_1)
# 向下滚动1000像素
#js = "window.scrollBy(0, 2000)"
# 滚动到当前页面底部
# js = "window.scrollTo(0,document.body.scrollHeight)"
for i in range(1,20):
time.sleep(3)
driver.execute_script("window.scrollTo(window.scrollX, %d);"%(i*1000))
html=driver.page_source
time.sleep(5)
soup = BeautifulSoup(html,'html.parser')
infos=soup.find_all('li',{'class':'item cf'})
lenth=len(infos)
print(lenth)
i=0
results=[]
for c in infos:
infoc=c.find('h3')
title=infoc.find('a').get_text()
url=infoc.find('a')['href']
i=i+1
print(i,',',title,',',url)
results.append([i,title,url])
name=['id','titie','url']
contents=pd.DataFrame(columns=name,data=results)
contents.to_csv('d:/news.csv',encoding='utf_8_sig', index = False)
写入到csv文件用'utf-8'编码出现乱码,需将编码设置为utf-8-sig,即带有签名的 utf-8(UTF-8 with BOM),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。Excel 在读取 csv 文件的时候是通过读取文件头上的 BOM 来识别编码的,用utf-8生成 csv 文件的时候,没有生成 BOM 信息,会乱码。原文链接:https://blog.csdn.net/qq_36759224/article/details/104417871
index=false,去掉csv中自带的默认索引。