1.内容简介:首先了解ajax的加载
通过chrome的开发者工具,监控网络请求,并分析
用selenium完成爬取https://news.qq.com/ 的热点精选
- 实战代码
首先了解ajax的加载
import time
from selenium import webdriver
driver=webdriver.Chrome(executable_path="D:\Anaconda1\chromedriver.exe")
driver.get("https://news.qq.com")
for i in range(1,100):
time.sleep(2)
driver.execute_script("window.scrollTo(window.scrollX, %d);"%(i*200))
其中注意的点是driver的路径一定要选对,不然会报错,这个执行的结果是:谷歌自动打开了一个新闻页面
结果去掉了(不然审核不通过)
然后是用selenium完成爬虫,代码如下
from bs4 import BeautifulSoup
html=driver.page_source
bsObj=BeautifulSoup(html,"lxml")
jxtits=bsObj.find_all("div",{"class":"jx-tit"})[0].find_next_sibling().find_all("li")
print("index",",","title",",","url")
for i,jxtit in enumerate(jxtits):
try:
text=jxtit.find_all("img")[0]["alt"]
except:
text=jxtit.find_all("div",{"class":"lazyload-placeholder"})[0].text
try:
url=jxtit.find_all("a")[0]["href"]
except:
print(jxtit)
print(i+1,",",text,",",url)
index , title , url
去掉了(不然审核不通过)
- 心得体会:看着比较简单,但真正去哦起来就会发现很多问题,比如谷歌那个不会自动显示,比如总会有莫名其妙的错误,有些错误是自己查查然后就解决了,有些,哎,太难了,不过总的一个流程下来大致知道了爬虫是怎么个意思,下去还的自己慢慢敲代码,不然根本不可能提升的,如果不自己敲代码的话,过不了几天,一切都会忘的一干二净,最后还是真心谢谢助教们,你们辛苦啦, 谢谢。