安装selenium
参考:https://blog.csdn.net/SOPHIA16527/article/details/118446491?spm=1001.2014.3001.5501
1、安装selenium:pip install selenium
2、查看chrom版本,浏览器输入:chrome://version/
3、下载驱动:
地址:http://npm.taobao.org/mirrors/chromedriver/
下载与浏览器对应的版本,例如:chromedriver_win32.zip
4、解压后将chromedriver.exe路径添加到程序中
示例:
chrome_file = r'C:\Users\Administrator\Downloads\chromedriver_win32\chromedriver.exe'
browser = Chrome(executable_path=chrome_file)
selenium模拟登录爬虫
代码示例
# coding:utf-8
import time
from selenium.webdriver import Chrome, ChromeOptions
url = r'https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1#tab1'
# 驱动chromedriver.exe路径
chrome_file = r'C:\Users\Administrator\Downloads\chromedriver_win32\chromedriver.exe'
# # selenium模拟登录网页
# # 方法1、并弹出浏览器窗口
# web = Chrome(executable_path=chrome_file)# 指定驱动
# web.get(url) # 模拟登录
# 方法2、不弹出浏览器窗口
# 设置参数
options = ChromeOptions()
options.add_argument('--headless') # 增加无界面选项
options.add_argument('--disable-gpu') # 如果不加这个选项,有时定位会出现问题
options.add_argument('--no-sandbox') # linux环境运行加这个参数
web = Chrome(executable_path=chrome_file, options=options) # 指定驱动并添加参数
web.get(url) # 模拟登录
# 查看网页源码
html = web.page_source
# print(html)
# 模拟点击,展开更多页
more_button = web.find_element_by_css_selector(
'#ptab-1 > div.Virus_1-1-306_2SKAfr > div.Common_1-1-306_3lDRV2 > span')
more_button.click()
time.sleep(1)
# 提取想要的内容
# //*[@id="ptab-1"]/div[3]/div[1]/div[2]/a/div # 第1条
# //*[@id="ptab-1"]/div[3]/div[2]/div[2]/a/div # 第2条
# //*[@id="ptab-1"]/div[3]/div/div[2]/a/div # 多条
divs = web.find_elements_by_xpath('//*[@id="ptab-1"]/div[3]/div/div[2]/a/div')
print(len(divs))
for div in divs:
print(div.text)
# 关闭模拟登录
web.close()