爬取动态页面2
動態(tài)頁面的爬取思路:
1.? ajax? -----數(shù)據(jù)放在 json 中,在里面是否有url
2.? js? 數(shù)據(jù)? ?通過? ? 搜索原頁面上的數(shù)據(jù)關鍵字? ? :ctrl + f? ?, 全局搜索關鍵字
?
例子:
開始網(wǎng)站? url = 'https://www.xuexi.cn/'
爬取的頁面1:
url 1= 'https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html'
需求:爬取url1 所有新聞的詳情頁面
分析思路:圖示
用?js 數(shù)據(jù)動態(tài)生成的思路 :? ?通過 搜索原頁面上的數(shù)據(jù)關鍵字? ? :ctrl + f? ?, 全局搜索關鍵字
?
爬取的頁面2:
url 2= 'https://www.xuexi.cn/261c9a142ef8e6375ed554815a26d585/f2d8ff735982530b7a8c9bb90fa99f68.html'
需求:爬取url2 所有新聞的詳情頁面
分析思路:
先按思路 ,js 動態(tài)生成數(shù)據(jù)的思路,找,沒找到在按ajax 動態(tài)生成數(shù)據(jù)的思路。
用 ajax動態(tài)生成的思路 :??ajax? -----數(shù)據(jù)放在 json 中,在里面是否有數(shù)據(jù)。(此處為ajax)
圖示:
代碼:
import requests分析之后得到獲取數(shù)據(jù)的url地址: url1 文需求1 的數(shù)據(jù)地址,url2 為需求2 的數(shù)據(jù)獲取地址。 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
總結
                            
                        - 上一篇: 第一次作业~
 - 下一篇: Postman界面了解