日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬动态网页json_爬虫再探实战(四)———爬取动态加载页面——请求json...

發布時間:2025/3/15 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬动态网页json_爬虫再探实战(四)———爬取动态加载页面——请求json... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

還是上次的那個網站,就是它.現在嘗試用另一種辦法——直接請求json文件,來獲取要抓取的信息。

第一步,檢查元素,看圖如下:

過濾出JS文件,并找出包含要抓取信息的js文件,之后就是構造requests請求對象,然后解析json文件啦。源碼如下:

import requests

def save(school_datas):

for data in school_datas:

# print(data)

year = data['year']

province = data['province']

type = data['type']

bath = data['bath']

score = data['score']

print(province, year, type, bath,score )

for i in range(1, 34):

print("第%s頁====================="%str(i))

# url = "http://data.api.gkcx.eol.cn/soudaxue/queryProvince.html?messtype=jsonp&url_sign=queryprovince&province3=&year3=&page=1&size=100&luqutype3=&luqupici3=&schoolsort=&suiji=&callback=jQuery1830426658582613074_1469201131959&_=1469201133189"

data = requests.get("http://data.api.gkcx.eol.cn/soudaxue/queryProvince.html", params={"messtype":"json","url_sign":"queryprovince","page":str(i),"size":"50","callback":"jQuery1830426658582613074_1469201131959","_":"1469201133189"}).json()

print("每一頁信息條數——>", len(data['school']))

print("全部信息條數——>", data["totalRecord"]['num'])

school_datas = data["school"]

save(school_datas)

簡單說明一下params部分,大部分是從json文件網址中截取信息構造,其中size參數是一個頁面返回的信息數量,可調節大小,網站一般有限制,這里是50(就算size超出50的話也是返回50條);page,就是字面意思啦,這里從1請求到33為止,33由int(1640/50) + 1)得到,1640是信息總條數。此外,params還可以設置其他參數來具體指定省份時間等。

最重要的,在同樣的網速下,這個程序不僅簡單,而且,3s左右就可以輸出全部結果(這里只是輸出,沒有保存),效率高出模擬登陸不是一點啊。。。

關于動態加載網頁的抓取先到這里告一段落,之后打算簡單學習一下JS相關的知識再來總結一下。

最后感謝群里面兩位大牛的指點,@南京-天臺@四川-Irony。

總結

以上是生活随笔為你收集整理的python爬动态网页json_爬虫再探实战(四)———爬取动态加载页面——请求json...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。