爬取某新聞
- 1 瞭解ajax加載
- 2 通過chrome的開發者工具,監控網絡請求,並分析
- 3 用selenium完成爬蟲
- 4 具體流程如下:
import time
from selenium import webdriver
driver = webdriver.Chrome()
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))
利用xpath定位標籤(其中data-biz每天會變,如果爬出來爲空的話記得修改xpath):
html=driver.page_source
from lxml import etree
tree = etree.HTML(html)
content = tree.xpath('//ul[@data-biz="5999"]/li') # data-biz每天會變
結果就不展示了,大家可以輸出看看
for k, i in enumerate(content):
try:
url = i.xpath('./div/h3/a/@href')[0]
title = i.xpath('./div/h3/a/text()')[0]
print('序號:%d title:%s url:%s' % (k, title, url))
except:
url = i.xpath('./h3/a/@href')[0]
title = i.xpath('./h3/a/text()')[0]
print('序號:%d title:%s url:%s' % (k, title, url))
driver.close() # 關閉瀏覽器一個Tab
# or
driver.quit() # 關閉瀏覽器窗口