国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)

這篇具有很好參考價值的文章主要介紹了Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:

之前小編寫了一篇關(guān)于爬蟲為什么爬取不到數(shù)據(jù)文章(文章鏈接為:https://liuze.blog.csdn.net/article/details/105965562),但是當(dāng)時小編也是胡亂編寫的,其實里面有很多問題的,現(xiàn)在小編重新發(fā)布一篇關(guān)于爬蟲爬取不到數(shù)據(jù)文章,希望各位讀者更加了解爬蟲。

Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)

1. 最基礎(chǔ)的爬蟲

通常編寫爬蟲代碼,使用如下三行代碼就可以實現(xiàn)一個網(wǎng)頁的基本訪問了。

from urllib import request

rsp = request.urlopen(url='某某網(wǎng)站')
print(rsp.read().decode('編碼'))

或者

import requests

rsp = requests.get(url='某某網(wǎng)站')
print(rsp.text)

但是,有的網(wǎng)站你使用上述方式訪問時,有可能出現(xiàn)一下情況:

  1. 直接報錯;
  2. 沒有報錯,但是給出相應(yīng)的響應(yīng)碼,如403;
  3. 沒有報錯,但是輸出信息沒有在瀏覽器上看到的那么多(這有可能是網(wǎng)頁使用了動態(tài)加載的原因)。
2. 添加請求頭的爬蟲

上述講到的三種情況,怎樣解決呢?基本方式是添加一個請求頭(請求頭的字段通常只需添加user-agent字段即可,用來模擬瀏覽器訪問;然而有的網(wǎng)站用Python爬蟲來訪問時,可能還要添加其他字段,最好是把這個網(wǎng)頁所有請求頭字段信息全部添加上;有的網(wǎng)頁全部請求頭字段信息全部添加上,然而也訪問不到數(shù)據(jù),這種情況小編也沒有什么好的解決辦法,不知道使用selenium模塊直接操控瀏覽器是否可以,沒有試過)。

  1. 如用urllib模塊來訪問bilibili網(wǎng)站時會報錯,如下:
    Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)
    但是添加請求頭之后,就可以正常訪問了。
    Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)
    參考代碼如下:
from urllib import request

url = 'https://www.bilibili.com/'

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4507.400'
}

req = request.Request(url=url,headers=headers)
rsp = request.urlopen(req)
print(rsp.read().decode('utf-8'))


  1. 如用urllib模塊來訪問百度網(wǎng)站時會出現(xiàn)如下情況:
    Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)
    很顯然,這個網(wǎng)頁不可能就這么點代碼標(biāo)簽,添加一個請求頭之后,如下:
    Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)
3. 動態(tài)網(wǎng)頁加載的數(shù)據(jù)

提到動態(tài)網(wǎng)頁,讀者首先可以去看看小編的這篇文章:Python爬蟲:什么是靜態(tài)網(wǎng)頁(數(shù)據(jù)),什么是動態(tài)網(wǎng)頁(數(shù)據(jù)),小編學(xué)習(xí)過后端知識,大體知道為什么用上述方式訪問不到相應(yīng)的數(shù)據(jù)。why(大概是這樣吧!也有可能講的不對,希望讀者指正[如果有錯誤的話],一般而言,我們用爬蟲爬取得到的數(shù)據(jù)是當(dāng)前網(wǎng)頁已經(jīng)完全加載的,然而動態(tài)網(wǎng)頁使用了ajax技術(shù),而執(zhí)行者一段ajax代碼好像是網(wǎng)頁完全加載之后才執(zhí)行的,因此你用爬蟲爬取不到那部分?jǐn)?shù)據(jù)。)
此時,你有兩種解決方式:

  1. 找到這個ajax的相關(guān)網(wǎng)頁鏈接,訪問這個鏈接,從而得到相關(guān)數(shù)據(jù);
  2. 直接使用selenium這個模塊,操作瀏覽器訪問。

如果讀者使用第1種解決方式,有可能你訪問的那個鏈接一些參數(shù)是加密的,這時你需要利用js斷點(使用谷歌瀏覽器),找到那段加密參數(shù)加密之前的數(shù)據(jù)信息和相關(guān)的一些js加密函數(shù),找到加密之前的數(shù)據(jù)信息的組合規(guī)則。關(guān)于js加密函數(shù),如果簡單的話,直接用Python模擬出加密效果即可;如果復(fù)雜的話,最好使用execjs或者其他Python模塊下的一些方法去執(zhí)行這些js加密函數(shù)。
上述關(guān)于使用第1種解決方式,小編過去做過的有Python爬蟲爬取酷狗音樂、網(wǎng)易云音樂、斗魚視頻等。有興趣的讀者可以去看看小編的爬蟲專欄,鏈接為:https://blog.csdn.net/qq_45404396/category_9687415.html,當(dāng)然,有一些文章發(fā)表在博客園,博客主頁為:https://www.cnblogs.com/liuze-2/

4. 總結(jié)

有的讀者也許會問,如果我ip封掉了,怎樣爬取網(wǎng)頁數(shù)據(jù),其實,使用相關(guān)ip代理即可,讀者可以去看看小編的爬蟲專欄,里面有講ip代理的相關(guān)文章。另外,還有一些高大上的反爬措施,小編并不是很了解,就不在這一一贅述了,如果未來小編真的了解到了,到時候再在本文章后加上吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-454702.html

到了這里,關(guān)于Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 爬蟲時為什么需要代理?

    我們都知道爬蟲時是需要代理地址介入的。使用代理可以隱藏你的真實IP地址,防止被網(wǎng)站封禁或限制訪問。此外,代理還可以幫助你繞過地理限制,訪問被封鎖的網(wǎng)站或服務(wù)。但是請注意,使用代理也可能會帶來一些風(fēng)險,例如代理服務(wù)器可能會記錄你的訪問數(shù)據(jù),或者代

    2024年02月06日
    瀏覽(25)
  • 爬蟲為什么需要ip

    爬蟲為什么需要ip

    爬蟲需要使用爬蟲ip主要是為了解決以下問題: 1、反爬蟲機制:許多網(wǎng)站會設(shè)置反爬蟲機制來防止爬蟲程序的訪問,例如限制IP地址的訪問頻率、檢測訪問來源等。使用爬蟲ip可以繞過這些限制,使得爬蟲程序更難被檢測到。 2、訪問限制:有些網(wǎng)站可能會對某些地區(qū)的IP地址

    2024年02月02日
    瀏覽(27)
  • Socks IP輪換:為什么是數(shù)據(jù)挖掘和Web爬取的最佳選擇?

    Socks IP輪換:為什么是數(shù)據(jù)挖掘和Web爬取的最佳選擇?

    ????????在數(shù)據(jù)挖掘和Web爬取的過程中,IP輪換是一個非常重要的概念。數(shù)據(jù)挖掘和Web爬取需要從多個網(wǎng)站或來源獲取數(shù)據(jù),而這些網(wǎng)站通常會對來自同一IP地址的請求進行限制或封鎖。為了避免這些問題,數(shù)據(jù)挖掘和Web爬取過程中需要使用Socks IP輪換技術(shù)。在本文中,我們

    2024年02月14日
    瀏覽(25)
  • 為什么網(wǎng)頁打不開? 網(wǎng)頁打不開的原因與解決辦法小結(jié)

    下面分析下引起此種故障的原因及解決方法: ?? ? ? 部分網(wǎng)站為什么網(wǎng)頁打不開的故障可能是有時候由于域名重新解析過后,但在本機訪問域名的時候還是指向原來的IP,這主要是因為本地dns緩存導(dǎo)致的,因為你在改域名解析之前訪問過這個域名。解決方法就是更新DNS!一種

    2024年02月05日
    瀏覽(97)
  • 爬蟲為什么需要 HTTP 代理 IP?

    爬蟲為什么需要 HTTP 代理 IP?

    前言 爬蟲在互聯(lián)網(wǎng)數(shù)據(jù)采集、分析和挖掘中扮演著至關(guān)重要的角色,但是對于目標(biāo)網(wǎng)站而言,頻繁的爬蟲請求可能會對其服務(wù)器產(chǎn)生不小的負(fù)擔(dān),嚴(yán)重的情況甚至?xí)?dǎo)致網(wǎng)站崩潰或者訪問受限。為了避免這種情況的發(fā)生,同時也為了保護客戶端的隱私和安全,爬蟲使用HTTP代

    2024年02月07日
    瀏覽(22)
  • spring中,為什么前端明明傳了值,后端卻接收不到

    spring中,為什么前端明明傳了值,后端卻接收不到

    在進行前后端的聯(lián)調(diào)時,有時候會出現(xiàn),前端明明傳了值,后端接口卻接收不到的情況,這種情況常常讓人很苦惱,然后就會去仔細對比前后端的參數(shù)單詞是不是對應(yīng)上了,也會去檢查是不是前端的請求參數(shù)格式有問題,又或者是后端接口接收的參數(shù)格式有問題,一通檢查對

    2024年02月03日
    瀏覽(19)
  • 為什么區(qū)域中找不到無線網(wǎng)絡(luò) 如何解決區(qū)域中找不到無線網(wǎng)絡(luò)的問題

    區(qū)域中找不到無線網(wǎng)絡(luò)解決辦法,無線網(wǎng)朋友這里可以找到答案。 電腦無線上網(wǎng)提示“區(qū)域中找不到無線網(wǎng)絡(luò)”怎么辦? 案例分析一: 筆記本電腦之前好好的,突然不能使用無線網(wǎng)絡(luò)了,提示“區(qū)域中找不到無線網(wǎng)絡(luò)”。主要有如下三個問題: 一、event log被360禁用了,啟用

    2024年02月06日
    瀏覽(22)
  • 小米盒子為什么搜不到電視家?電視安裝包解析錯誤解決方案

    小米盒子為什么搜不到電視家?電視安裝包解析錯誤解決方案

    不少的朋友在小米電視盒子上安裝了美家市場軟件商店后,卻發(fā)現(xiàn)在市場里面沒法安裝想要的電視盒子直播軟件,這是怎么回事呢?其實大部分原因是電視盒子機制的問題限制了安裝,導(dǎo)致部分品牌電視盒子裝軟件時會彈出“無法安裝”的提示。 本身廠商的原因不好解決,但

    2024年02月09日
    瀏覽(32)
  • python爬蟲 爬取網(wǎng)頁圖片

    python爬蟲 爬取網(wǎng)頁圖片

    目錄 一:爬蟲基礎(chǔ) 二:安裝html解析的python工具 三:爬取網(wǎng)頁圖片 爬蟲基本過程: 1.請求標(biāo)頭 headers 2.創(chuàng)建一個會話 requests.Session 3.確定請求的路徑 4.根據(jù)路徑獲取網(wǎng)頁資源(HTML文件) 5.解析html文件BeautifulSoup div a 標(biāo)簽 獲取對應(yīng)的圖片 6.建立網(wǎng)絡(luò)連接進行下載? 創(chuàng)建出下載的圖

    2024年02月02日
    瀏覽(101)
  • 為什么pycharm遠程連接服務(wù)器運行時總會出現(xiàn)找不到文件或目錄

    為什么pycharm遠程連接服務(wù)器運行時總會出現(xiàn)找不到文件或目錄

    目錄 解決方法 為什么會出現(xiàn)這樣的問題 我們需要修改一個設(shè)置 具體步驟如下: 1、右下角點擊它,選擇interpreter setting ?2、進入下圖界面,點擊箭頭所指位置,選擇show all 3、進入下圖界面,選擇你要修改的python interpreter,點哪個??進行修改 ? ?4、進入下圖界面,默認(rèn)情況下

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包