ajax請求的抓取

訪問url返回一個框架
這個框架裏面是沒有內容的

這時ajax發送一個新的請求給服務器
然後服務器在把數據返回過來
填充到框架裏

AJAX 不是新的編程語言,而是一種使用現有標準的新方法。
AJAX 最大的優點是在不重新加載整個頁面的情況下,可以與服務器交換數據並更新部分網頁內容。

說的更簡單一點
打開一個網頁
鼠標滑輪往下刷
你會發現不斷有新的內容出現
這就是Ajax功能
並不是一時間把所有頁面都加載出來
而是你刷到哪就給你加載信息

////////////////////////////////////

打開一個電影庫URL
進入命令臺
Network—XHR—左邊Ajax文件隨機選一個
右邊選擇Headers,複製裏的URL
然後瀏覽器打開
複製全部
然後使用JSON解析器打開
最後你看到電影名和鏈接和作者整齊的顯示開了

你繼續用滑輪往下刷
你會看到Ajax文件不斷增多
你可以尋找這些文件對應右邊的URL的規律

比如今天這個
URL中的參數start在變
每次加20
limit20表示每次滑輪往下滑返回20條數據

你可以修改Limit值,比如200
那麼一次返回200條數據
不能太大

from urllib.request import Request, urlopen
from fake_useragent import UserAgent

base_url = “https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start={}&limit=20”
i = 0
while True:
headers = {
“User-Agent”: UserAgent().chrome
}
url = base_url.format(i * 20)
request = Request(url, headers=headers)
response = urlopen(request)
info = response.read().decode()
print(info)
if info == “” or info is None:
break
i += 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章