文章目录
显示
爬取热搜数据
selenium介绍
对于使用了动态渲染技术,我们可以使用selenium来爬取
selenium是一个用于web应用程序测试的工具,直接运行在浏览器中,就像整整的用户在操作一样。
selenium安装
1.安装:
pip install selenium
Successfully installed selenium-3.141.0
2.安装浏览器(谷歌)
产看当前chrome版本:
3.下载对应的浏览器驱动:
- 创建浏览器对象
- 浏览器.get()
- 浏览器.find()
驱动下载地址:http://npm.taobao.org/mirrors/chromedriver/
4.下载完成后
防止到对应的文件夹下:
5.启动selenium自动化控制Chrome浏览器
from selenium.webdriver import Chrome,ChromeOptions
brower = Chrome()
6.通过url拿到源码地址
from selenium.webdriver import Chrome,ChromeOptions
browser = Chrome()
url = "https://space.bilibili.com/473837611"
browser.get(url)
print(browser.page_source)
7.确定xpath路径
7.1copy xpath
7.2搜索确定
//*[@id="page-index"]/div[1]/div[2]/div/div/a[2]
8.验证数据 打印出获取到的浏览器对象
from selenium.webdriver import Chrome,ChromeOptions
browser = Chrome()
url = "https://space.bilibili.com/473837611"
browser.get(url)
#print(browser.page_source)
c = browser.find_elements_by_xpath('//*[@id="page-index"]/div[1]/div[2]/div/div/a[2]')
print(c)
9.获取数据中所有的标题
from selenium.webdriver import Chrome,ChromeOptions
browser = Chrome()
url = "https://space.bilibili.com/473837611"
browser.get(url)
#print(browser.page_source)
c = browser.find_elements_by_xpath('//*[@id="page-index"]/div[1]/div[2]/div/div/a[2]')
for i in c:
print(i.text)
browser.close()
10.打开chrome无头模式
from selenium.webdriver import Chrome,ChromeOptions
option = ChromeOptions()
option.add_argument("--headless") #隐藏浏览器
option.add_argument("--no-sandbox") #Linux去除沙盒
browser = Chrome(options=option)
url = "https://space.bilibili.com/473837611"
browser.get(url)
#print(browser.page_source)
c = browser.find_elements_by_xpath('//*[@id="page-index"]/div[1]/div[2]/div/div/a[2]')
for i in c:
print(i.text)
browser.close()