爬虫(13)——动态网页数据抓取(Selenium Chromedriver)

目录

动态网页数据抓取

AJAX:

安装Selenium和 Chromedriver

验证安装是否成功


动态网页数据抓取

AJAX:

异步javascript和XML。在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不加载网页的情况下,对网页进行更新。传统的网页要更新的话必须重载整个网页页面。

例如:

https://www.xfz.cn/

点击查看更多之后

又重新加载了10条数据,但是网页并没有更新

点击检查 Network之后,再次点击  查看更多 , 然后点击出现的第一条,会发现新出现的数据是通过”新的url”进行请求的然后加载到原来的页面。所以在原网页的网页源代码是找不到新加载的数据的。这就需要新思路解决问题。

我们可以直接分析ajax调用的接口,即“新的url”,通过代码请求接口。

如此案例:https://www.xfz.cn/api/website/articles/?p=2&n=20&type=

p=2指的是刷新了几次,n=20指的是刷新一次加载多少数据。

但是其他的接口不好分析,需要json先验知识。所以这个方法有局限性。

还有一种方法就是今天主推的方法。使用Selenium Chromedriver模拟浏览器行为获取数据。

安装Selenium和 Chromedriver

1.根据chrome://version/选择http://chromedriver.storage.googleapis.com/index.html

如:

2.下载Chromedriver

无论64位还是32位都可以

3.解压,放在任意英文目录下

4.下载Selenium

直接pip install Selenium

验证安装是否成功

from selenium import webdriver

driver_path=r"D:\Python_pycharm\PyCharm Community Edition 2018.3.5\chromedriver.exe"#你自己的解压路径

driver=webdriver.Chrome(executable_path=driver_path)

driver.get('https://www.baidu.com/')

print(driver.page_source)#可以看到源代码

会看到弹出:

源代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值