这次我们来学习使用selenuim库来爬取百度疫情模块下的今日热点:
这是要爬取的网站:
https://voice.baidu.com/act/newpneumonia/newpneumonia#tab1
我们先安装selinium库
在命令行下输入pip install selinium进行安装
然后
http://chromedriver.storage.googleapis.com/index.html
这个网站下载相对应的chrome的驱动。
接下来引入库
from selenium.webdriver import Chrome, ChromeOptions
import time
分析网站的数据结构我们可以得到要获取对应数据的xpath的表达式
'//*[@id="ptab-1"]/div[3]/div/div[2]'
数据就可以获得了
代码如下
option = ChromeOptions()
# 无头模式
option.add_argument("--headless")
# Linux部署
option.add_argument("--no-sandbox")
browser = Chrome(r"D:\note\chromedriver", options=option)
browser.get("https://voice.baidu.com/act/newpneumonia/newpneumonia#tab1")
# print(browser.page_source)
but = browser.find_element_by_css_selector('#ptab-1 > div.Virus_1-1-318_2SKAfr > div.Common_1-1-318_3lDRV2')
but.click()
time.sleep(1)
source = browser.find_elements_by_xpath('//*[@id="ptab-1"]/div[3]/div/div[2]')
list = []
for i in source:
list.append(i.text)
print(list)