python抓取动态网页(一个处理静态网站数据的常用方法及改进方法(图))

优采云 发布时间: 2022-03-10 12:21

  python抓取动态网页(一个处理静态网站数据的常用方法及改进方法(图))

  当我们在处理一些 网站 数据时,有时我们需要的很多数据都是动态加载的,而不是全是静态的。下面以一个例子来介绍动态数据的简单获取。首先,我声明我是新手。, 还在学python,这个方法还是比较笨拙的,不过初学者还是有必要知道的。

  首先,我们的请求是获取以下 文章 引用:

  一开始,我的想法是使用lxml、BeatifulSoup、正则表达式。这些是处理静态 网站 的常用方法。查看网页的源码,我们会发现对应的div是空的,也就是说上面的数据不是静态的,而是后期动态加载的,用googl浏览器可以看到:

  标记的三个对应于 网站 中的类似文档、参考文献和引用。我们需要的是引用,所以点击第二个:

  我们可以看到数据在那里,然后点击Header,复制里面的URL:

  使用以下代码获取对应的数据:

  #-*- 编码:utf-8 -*-

  *敏*感*词*请求

  url='%3A(17d24f9533609a132a16703fde60ce19)&req_url=http%3A%2F%2F%2Fpaper%2F4015889&type=reference&rn=10&page_no=1'data=requests.get(url)打印数据

  但是,如果我们想获得所有的参考资料怎么办?我们不能一一复制链接。会很麻烦。以下是代码的改进。首先,我们需要知道总共有多少页reference,即URL中的page_no。·value,下面是改进后的代码:(其实我们也可以直接估计有50页引用,然后用try...except...获取异常也是可以的)

  #-*- 编码:utf-8 -*-

  *敏*感*词*请求

  n = 相关页数

  url='%3A(17d24f9533609a132a16703fde60ce19)&req_url=http%3A%2F%2F%2Fpaper%2F4015889&type=reference&rn=10&page_no='

  对于范围内的 i(1,n+1):

  data=requests.get(url+str(i))打印数据

  返回值是json格式,剩下的就是对json格式进行处理(记得去掉返回的冗余数据),见:.

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线