python抓取动态网页(什么是HTML静态生优游国际代理的内容,如何对网页进行爬取呢?)

优采云 发布时间: 2021-11-26 22:06

  python抓取动态网页(什么是HTML静态生优游国际代理的内容,如何对网页进行爬取呢?)

  我们之前爬取的网页大多是HTML静态生成优游国际代理的内容。您可以直接从优游国际代理的HTML源代码中找到您所看到的数据和内容。然而,优游国际代理的网页并非如此。.

  优优国际代理网站的部分内容由前端JS动态盛优优国际代理。由于网页上呈现的内容是以JS盛游游国际为代表的,我们在浏览器上是可以看到的,但是在HTML中游游国际代理的源代码是找不到的。比如今天的头条新闻:

  浏览器呈现的网页如下所示:

  查看源代码,它看起来像这样:

  优优国际代理的网页在优优国际代理的HTML源代码中找不到。都是JS动态同学加载的。

  在这种情况下,我们应该如何抓取网页呢?优优国际代理有两种方式:

  1、从网页响应游游国际代理中找到JS脚本返回的JSON数据;2、使用Selenium模拟访问网页

  这里只介绍第一种方法,关于Selenium的使用,后有优游国际社的专文。

  一、从网页响应中找到JS脚本返回的JSON数据 游游国际代理

  即使网页内容由JS动态国际机构加载,JS也需要调用一个接口,根据接口返回的JSON数据进行加载和渲染。

  所以我们可以找到JS调用的数据接口,从优优国际代理的数据接口中找到优优国际代理的网页最后呈现的数据。

  以今日头条为例来说明:

  1、找到JS请求的数据接口

  F12 打开网页调试优优国际代理

  选择了“网络”选项卡后,发现优优国际代理的反应挺多的。让我们过滤它们,只查看 XHR 响应。

  (XHR是Ajax Youyou International Agency的概念,意思是XMLHTTPrequest)

  然后我们发现很多链接都没有了,随便点一个看看:

  我们选择city预览优游国际代理的一串json数据:

  让我们再次点击它:

  原来全优游国际代理是一个城市列表,应该是用来加载区域优优国际代理的。

  现在你应该明白如何找到JS请求的接口了吧?但是刚才,我们并没有找到我们想要的悠游国际代理,所以我们再找找:

  优游国际是一家专注的代理商,我们点开看看:

  优优国际代理提供的数据和优优国际代理的图片是一样的,应该是有数据的。

  查看其他链接:

  这个应该是热搜关键词

  返回一串乱码,但是从响应游游国际代理中查到了正游游国际代理的编码数据:

  优游国际已经代理了相应的数据接口,我们可以按照前面的方法请求数据接口并得到响应。

  2、请求解析数据接口数据

  先上传完整代码:

  # 编码:utf-8

  *敏*感*词*请求

  导入json

  网址 ='#39;

  wbdata = requests.get(url).text

  数据 = json.loads(wbdata)

  新闻 = 数据['数据']['pc_feed_focus']

  对于新闻中的 n:

  标题 = n['标题']

  img_url = n['image_url']

  url = n['media_url']

  打印(网址,标题,img_url)

  返回结果如下:

  像往常一样,稍微解释一下代码:

  代码分为四部分,

  第一部分:相关库介绍

  # 编码:utf-8

  *敏*感*词*请求

  导入json

  第二部分:向数据接口发出http请求

  网址 ='#39;

  wbdata = requests.get(url).text

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线