欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談如何使用python抓取網(wǎng)頁中的動態(tài)數(shù)據(jù)實現(xiàn)

 更新時間:2020年08月17日 11:08:10   作者:saintlas  
這篇文章主要介紹了淺談如何使用python抓取網(wǎng)頁中的動態(tài)數(shù)據(jù)實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

我們經(jīng)常會發(fā)現(xiàn)網(wǎng)頁中的許多數(shù)據(jù)并不是寫死在HTML中的,而是通過js動態(tài)載入的。所以也就引出了什么是動態(tài)數(shù)據(jù)的概念,動態(tài)數(shù)據(jù)在這里指的是網(wǎng)頁中由Javascript動態(tài)生成的頁面內(nèi)容,是在頁面加載到瀏覽器后動態(tài)生成的,而之前并沒有的。

在編寫爬蟲進行網(wǎng)頁數(shù)據(jù)抓取的時候,經(jīng)常會遇到這種需要動態(tài)加載數(shù)據(jù)的HTML網(wǎng)頁,如果還是直接從網(wǎng)頁上抓取那么將無法獲得任何數(shù)據(jù)。

今天,我們就在這里簡單聊一聊如何用python來抓取頁面中的JS動態(tài)加載的數(shù)據(jù)。

給出一個網(wǎng)頁:豆瓣電影排行榜,其中的所有電影信息都是動態(tài)加載的。我們無法直接從頁面中獲得每個電影的信息。

如下圖所示,我們無法在HTML中找到對應的電影信息。

在Chrome瀏覽器中,點擊F12,打開Network中的XHR,我們來抓取對應的js文件來進行解析。如下圖:

在豆瓣頁面向下拖拽,使得頁面加載入更多的電影信息,從而我們可以抓取對應的報文。

我們可以看到它采用的是AJAX異步請求。通過在后臺與服務器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。因此就可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新,從而實現(xiàn)數(shù)據(jù)的動態(tài)載入。

我們可以看到,通過GET,我們得到的response之中包含了所對應的電影相關(guān)信息,它們以JSON的格式保存在一起。

查看一下RequestURL信息,我們可以發(fā)現(xiàn)在action參數(shù)之后又跟了兩個參數(shù)"start"和"limit",很顯然它們的意思是:"從某個位置開始返回的電影的個數(shù)"。

如果想快速獲取相關(guān)的電影信息,就可以直接把這個URL復制進地址欄,修改你所需要的start和limit參數(shù)值,將得到對應的結(jié)果進行抓取即可。

但是這樣顯得很不自動化,而且很多其他網(wǎng)站的RequestURL并不給的這么直接,所以我們接下來用python進行進一步的操作來獲取這個返回的報文信息。

#coding:utf-8
import urllib
import requests

post_param = {'action':'','start':'0','limit':'1'}
return_data = requests.get("https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90",data =post_param, verify = False)
print return_data.text

因為豆瓣是https的,所以我們在此處需要稍微注意一下,將verify置為False表示不需要驗證SSL證書。

我們可以發(fā)現(xiàn)打印出的結(jié)果中就是對應的JSON文件,下一步的解析和操作在這里就不贅述了。

[{"rating":["9.6","50"],"rank":1,"cover_url":"https://img3.doubanio.com\/view\/movie_poster_cover\/mpst\/public\/p480747492.jpg","is_playable":true,"id":"1292052","types":["犯罪","劇情"],"regions":["美國"],"title":"肖申克的救贖","url":"https:\/\/movie.douban.com\/subject\/1292052\/","release_date":"1994-09-10","actor_count":15,"vote_count":713205,"score":"9.6","actors":["蒂姆·羅賓斯","摩根·弗里曼","鮑勃·岡頓","威廉姆·賽德勒","克蘭西·布朗","吉爾·貝羅斯","馬克·羅斯頓","詹姆斯·惠特摩","杰弗里·德曼","拉里·布蘭登伯格","尼爾·吉恩托利","布賴恩·利比","大衛(wèi)·普羅瓦爾","約瑟夫·勞格諾","祖德·塞克利拉"],"is_watched":false}]

到此這篇關(guān)于淺談如何使用python抓取網(wǎng)頁中的動態(tài)數(shù)據(jù)實現(xiàn)的文章就介紹到這了,更多相關(guān)python抓取網(wǎng)頁動態(tài)數(shù)據(jù) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MacOS安裝python報錯"zsh:?command?not?found:python"的解決方法

    MacOS安裝python報錯"zsh:?command?not?found:python"的

    這篇文章主要給大家介紹了關(guān)于MacOS安裝python報錯"zsh:?command?not?found:python"的解決方法,文中將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • django框架模板語言使用方法詳解

    django框架模板語言使用方法詳解

    這篇文章主要介紹了django框架模板語言使用方法,結(jié)合實例形式詳細分析了Django框架常用的模板語言語法與相關(guān)使用技巧,需要的朋友可以參考下
    2019-07-07
  • Python基礎詳解之描述符

    Python基礎詳解之描述符

    這篇文章主要介紹了Python基礎詳解之描述符,文中有非常詳細的代碼示例,對正在學習python基礎的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python中的lambda函數(shù)用法指南

    python中的lambda函數(shù)用法指南

    Lambda函數(shù)是Python中的匿名函數(shù),下面這篇文章主要給大家介紹了關(guān)于python中l(wèi)ambda函數(shù)用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Django ManyToManyField 跨越中間表查詢的方法

    Django ManyToManyField 跨越中間表查詢的方法

    今天小編就為大家分享一篇Django ManyToManyField 跨越中間表查詢的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解python之多進程和進程池(Processing庫)

    詳解python之多進程和進程池(Processing庫)

    本篇文章主要介紹了詳解python之多進程和進程池(Processing庫),非常具有實用價值,需要的朋友可以參考下
    2017-06-06
  • pygame實現(xiàn)井字棋之第一步繪制九宮格

    pygame實現(xiàn)井字棋之第一步繪制九宮格

    這篇文章主要介紹了pygame實現(xiàn)井字棋之第一步繪制九宮格,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • scrapy spider的幾種爬取方式實例代碼

    scrapy spider的幾種爬取方式實例代碼

    這篇文章主要介紹了scrapy spider的幾種爬取方式實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 通過Python來使用七牛云存儲的方法詳解

    通過Python來使用七牛云存儲的方法詳解

    這篇文章主要介紹了通過Python來使用七牛云存儲的方法詳解,七牛云存儲是國內(nèi)領先的服務器數(shù)據(jù)備份解決方案商,需要的朋友可以參考下
    2015-08-08
  • python celery beat實現(xiàn)定時任務的示例代碼

    python celery beat實現(xiàn)定時任務的示例代碼

    在日常工作中,我們常常會用到需要周期性執(zhí)行的任務,本文主要介紹了python celery beat實現(xiàn)定時任務的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03

最新評論