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

歡迎訪問 生活随笔!

生活随笔

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

python

Python3 爬虫学习笔记 C03 【Ajax 数据爬取】

發布時間:2023/12/10 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3 爬虫学习笔记 C03 【Ajax 数据爬取】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3 爬蟲學習筆記第三章 —— 【Ajax 數據爬取】

文章目錄

  • 【3.1】Ajax 簡介
  • 【3.2】解析真實地址提取


【3.1】Ajax 簡介

Ajax — Asynchronous Javascript And XML(異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

【3.2】解析真實地址提取

以豆瓣電影動作片排行榜為例,地址為:https://movie.douban.com/typerank?type_name=%E5%8A%A8%E4%BD%9C&type=5&interval_id=100:90&action= ,首先使用常用方法來爬取電影信息:

import requestsurl = 'https://movie.douban.com/typerank?type_name=%E5%8A%A8%E4%BD%9C&type=5&interval_id=100:90&action='headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"} response = requests.get(url, headers=headers)print(response.text)

得到的數據里面我們并沒有找到電影相關信息:

再次分析頁面,發現鼠標下滑的時候,頁面不刷新,URL 也不變,但是會加載新數據,那么此處就運用了 Ajax,可以使用抓包工具或者瀏覽器控制臺來捕獲 Ajax 接口,獲取其真實地址,XHR 是 Ajax 特殊的請求類型,返回的是 json 數據,利用瀏覽器控制臺過濾 XHR,隨便點擊一條請求,可以看到其 Request URL,也就是真實地址,點擊 Preview 就可以看到返回的 json 數據。


同樣,我們可以使用 Fiddler 抓包軟件抓取 Ajax 接口:

分析其真實地址為:https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=20&limit=20 ,多下滑幾次,只有 start 參數發生了改變,觀察變化可知:每一次頁面將多出20個電影信息,start 為從第幾個電影開始,由此就不難進行數據抓取了

代碼:

import requestsurl = 'https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&'page = int(input('請輸入想要第幾頁的數據:')) data = {'start': (page - 1)*20,'limit': '20', } headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36', } response = requests.get(url, params=data, headers=headers) print(response.text)

運行代碼即可得到電影排行信息:

總結

以上是生活随笔為你收集整理的Python3 爬虫学习笔记 C03 【Ajax 数据爬取】的全部內容,希望文章能夠幫你解決所遇到的問題。

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