爬取动态页面2

博客介绍了动态页面的爬取思路,包括通过ajax(数据放在json中)和js数据(搜索原页面关键字)两种方式。还给出了两个具体爬取页面的实例,分别说明了不同页面适用的爬取思路及分析过程。

动态页面的爬取思路:

  1.  ajax  -----数据放在 json 中,在里面是否有url

  2.  js  数据   通过    搜索原页面上的数据关键字    :ctrl + f   , 全局搜索关键字

 

例子:

开始网站  url = 'https://www.xuexi.cn/'

爬取的页面1:

url 1= 'https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html'

需求:爬取url1 所有新闻的详情页面

分析思路:图示

  用 js 数据动态生成的思路 :   通过 搜索原页面上的数据关键字    :ctrl + f   , 全局搜索关键字

 

爬取的页面2:

url 2= 'https://www.xuexi.cn/261c9a142ef8e6375ed554815a26d585/f2d8ff735982530b7a8c9bb90fa99f68.html'

需求:爬取url2 所有新闻的详情页面

分析思路:

  先按思路 ,js 动态生成数据的思路,找,没找到在按ajax 动态生成数据的思路。

  用 ajax动态生成的思路 :  ajax  -----数据放在 json 中,在里面是否有数据。(此处为ajax)

图示:

代码:

import requests

分析之后得到获取数据的url地址: url1 文需求1 的数据地址,url2 为需求2 的数据获取地址。
url1 = 'https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/data018d244441062d8916dd472a4c6a0a0b.js'
url2 = 'https://www.xuexi.cn/lgdata/261c9a142ef8e6375ed554815a26d585/f2d8ff735982530b7a8c9bb90fa99f68.json'


headers={
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'
}
res1 = requests.get(url=url2,headers=headers)
res2 = requests.get(url=url2,headers=headers) 

print(res1.content.decode())
print(res2.content.decode())

 

转载于:https://www.cnblogs.com/knighterrant/p/10575523.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值