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

python爬蟲(chóng)遇到403錯(cuò)誤的問(wèn)題及解決

 更新時(shí)間:2024年02月08日 09:47:21   作者:carry_1024  
這篇文章主要介紹了python爬蟲(chóng)遇到403錯(cuò)誤的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python爬蟲(chóng)遇到403錯(cuò)誤

這段時(shí)間我很想去p站爬一爬,之前有試過(guò),但都失敗了,有一次用phantomJS嘗試,結(jié)果卡死在登錄頁(yè)面,太復(fù)雜了。

有一次卡死在編碼上,一直無(wú)法獲取到頁(yè)面。

這次是卡死在403上,我獲取了圖片的鏈接,正要下載時(shí)彈出403錯(cuò)誤,圖片在瀏覽器上也打不開(kāi),我還以為是網(wǎng)站把我的ip封掉了,就放棄了,后來(lái)聽(tīng)一位大神說(shuō),有的時(shí)候需要向網(wǎng)頁(yè)發(fā)送一些請(qǐng)求頭吃才能下載東西(我是第一次聽(tīng)說(shuō)urllib.request.urltrieve也能添加請(qǐng)求頭)真是長(zhǎng)見(jiàn)識(shí)了。

經(jīng)過(guò)自己的摸索,發(fā)現(xiàn)在p站下載高清大圖需要給服務(wù)器發(fā)送一個(gè)”Referer”參數(shù),用來(lái)告訴服務(wù)器你是從哪個(gè)網(wǎng)址進(jìn)入圖片鏈接的。

而且p站的圖片頁(yè)沒(méi)有單獨(dú)的json文件加載,它的json數(shù)據(jù)全存在html文件里,真是見(jiàn)了鬼(我還以為那段代碼是亂碼)。

p站還是牛逼啊,我大概花了兩天時(shí)間才搞懂這些。

代碼:

import urllib.request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
url = "https://i.pximg.net/img-original/img/2016/12/25/05/10/36/60541651_p0.jpg"

opener = urllib.request.build_opener()
opener.addheaders=[('Referer', "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=60541651")]
urllib.request.install_opener(opener)
urllib.request.urlretrieve(url,"E://miku.jpg")

python爬蟲(chóng)代碼錯(cuò)誤的解決

在做數(shù)據(jù)抓取的時(shí)候經(jīng)常會(huì)遇到各種各樣的問(wèn)題,這些問(wèn)題就是新手小白經(jīng)常會(huì)遇到的代碼問(wèn)題。

1、爬取https的網(wǎng)站或是接口的時(shí)候,如果是不受信用的SSL證書(shū),會(huì)報(bào)錯(cuò),需要添加如下代碼

如下代碼可以保證當(dāng)前代碼塊內(nèi)所有的請(qǐng)求都自動(dòng)屏蔽ssl證書(shū)問(wèn)題:

import ssl   # 這個(gè)是爬取https的鏈接需要的,以及下面一行代碼
ssl._create_default_https_context = ssl._create_unverified_context

2、爬取jsonp的接口,返回的數(shù)據(jù)需要?jiǎng)h除callback名字和最外層括號(hào),可以通過(guò)以下方式過(guò)濾:

text方法將取得的數(shù)據(jù)轉(zhuǎn)為文本,然后re.match將字符串過(guò)濾掉callback名字和最外層括號(hào),留下原本json部分的數(shù)據(jù),然后通過(guò)json.loads將過(guò)濾出來(lái)的json轉(zhuǎn)為python對(duì)象

import re
getOneSongInfoCallback=json.loads(re.match(".*?({.*}).*", requests.get(url, headers=headers).text)[1])

3、獲取請(qǐng)求的地址后面跟的參數(shù)的方法,如下方式得到qs就可以進(jìn)一步直接獲取自己想要的參數(shù)值:

import urllib.parse as parse
parse_query=parse.urlparse(url).query
qs=parse.parse_qs(parse_query)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)的一個(gè)火車票轉(zhuǎn)讓信息采集器

    python實(shí)現(xiàn)的一個(gè)火車票轉(zhuǎn)讓信息采集器

    這篇文章主要介紹了python實(shí)現(xiàn)的一個(gè)火車票轉(zhuǎn)讓信息采集器,采集信息來(lái)源是58同程或者趕集網(wǎng),需要的朋友可以參考下
    2014-07-07
  • Python利用D3Blocks繪制可動(dòng)態(tài)交互的圖表

    Python利用D3Blocks繪制可動(dòng)態(tài)交互的圖表

    今天小編給大家來(lái)介紹一款十分好用的可視化模塊,D3Blocks,不僅可以用來(lái)繪制可動(dòng)態(tài)交互的圖表,并且導(dǎo)出的圖表可以是HTML格式,方便在瀏覽器上面呈現(xiàn),感興趣的可以了解一下
    2023-02-02
  • python matplotlib折線圖樣式實(shí)現(xiàn)過(guò)程

    python matplotlib折線圖樣式實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了python matplotlib折線圖樣式實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • pandas 相關(guān)性和正態(tài)性分析的實(shí)踐

    pandas 相關(guān)性和正態(tài)性分析的實(shí)踐

    當(dāng)我們談?wù)撜龖B(tài)性(Normality)和相關(guān)性(Correlation)時(shí),我們實(shí)際上在嘗試?yán)斫鈹?shù)據(jù)的分布模式和不同變量之間的關(guān)系,本文就來(lái)介紹一下pandas 相關(guān)性和正態(tài)性的實(shí)踐,感興趣的可以了解一下
    2024-07-07
  • python采集博客中上傳的QQ截圖文件

    python采集博客中上傳的QQ截圖文件

    這篇文章主要介紹了python采集博客中上傳的QQ截圖文件,因?yàn)槲募形臅?huì)在某些時(shí)候亂碼,例如這件的文件名QQ截圖20120926174732,所以需要采集出來(lái)修改掉,需要的朋友可以參考下
    2014-07-07
  • python實(shí)現(xiàn)圖片插入文字

    python實(shí)現(xiàn)圖片插入文字

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖片插入文字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 在python中實(shí)現(xiàn)強(qiáng)制關(guān)閉線程的示例

    在python中實(shí)現(xiàn)強(qiáng)制關(guān)閉線程的示例

    今天小編就為大家分享一篇在python中實(shí)現(xiàn)強(qiáng)制關(guān)閉線程的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Datawhale練習(xí)之二手車價(jià)格預(yù)測(cè)

    Datawhale練習(xí)之二手車價(jià)格預(yù)測(cè)

    此篇文章是關(guān)于Datawhale練習(xí),代碼完整,但由于該數(shù)據(jù)集中數(shù)據(jù)特征較少(39維),以下可作為少量特征情況下的分析。當(dāng)特征數(shù)目過(guò)大(成千上萬(wàn))時(shí),需要繼續(xù)學(xué)習(xí)。需要的朋友可以參考下
    2021-04-04
  • python使用sqlite3時(shí)游標(biāo)使用方法

    python使用sqlite3時(shí)游標(biāo)使用方法

    這篇文章主要為大家詳細(xì)介紹了python使用sqlite3時(shí)游標(biāo)的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python實(shí)現(xiàn)的將文件每一列寫(xiě)入列表功能示例【測(cè)試可用】

    Python實(shí)現(xiàn)的將文件每一列寫(xiě)入列表功能示例【測(cè)試可用】

    這篇文章主要介紹了Python實(shí)現(xiàn)的將文件每一列寫(xiě)入列表功能,涉及Python文件讀取、遍歷、序列追加、賦值等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03

最新評(píng)論