久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

記練習(xí)Python3 urllib爬百度首頁(yè)遭遇的坑

 開(kāi)源優(yōu)測(cè) 2021-12-09

作者: 杭州-冬

地址:https://github.com/small99/deeptest/tree/master/第一期/杭州-冬

聲明:本文已獲作者授權(quán)轉(zhuǎn)載,,著作權(quán)歸作者所有,。

編輯:苦葉子

作者為開(kāi)源優(yōu)測(cè)-積微速成計(jì)劃第一期參與者,,每天都堅(jiān)持學(xué)習(xí),練習(xí)每日的代碼任務(wù)

這是一個(gè)免費(fèi)的組團(tuán)成長(zhǎng)計(jì)劃

如何參與到開(kāi)源優(yōu)測(cè)-積微速成計(jì)劃任務(wù)

記練習(xí)爬蟲(chóng)基礎(chǔ)遭遇的坑

一,、過(guò)程中的坑

爬百度首頁(yè)時(shí),獲取不了html,只顯示幾行 

from urllib import request
import ssl

if name == "main":
   resp=request.Request('https://www.baidu.com')  
   #有時(shí)這里會(huì)出現(xiàn)decodeerrror,根據(jù)情況修改字符參數(shù)或者加個(gè)ignore                                            
   #默認(rèn)第二個(gè)參數(shù)為strict--有時(shí)會(huì)造成錯(cuò)誤    data=resp.read().decode('UTF-8')

   data=resp.read()    print(data)

執(zhí)行后只是出現(xiàn)了下面幾行簡(jiǎn)單的結(jié)果:

<script> location.replace(location.href.replace("https://","http://")); </script>

啥都沒(méi)有 百度首頁(yè)源代碼那么多 只顯示了這幾行 而且似乎和百度首頁(yè)的html沒(méi)什么關(guān)系 查了下 一種說(shuō)法是 那個(gè)noscript的東東起到了反爬的效果,所以我看不到html內(nèi)容

后來(lái)我看別人的教程都可以,仔細(xì)對(duì)比后 我把https 改成 http 然后那個(gè)無(wú)比激動(dòng)的看到了百度首頁(yè)的html 了解到 訪(fǎng)問(wèn)https的網(wǎng)站時(shí) 大概是ssl這個(gè)東西作怪 該類(lèi)型的網(wǎng)站都要經(jīng)過(guò)安全認(rèn)證

其實(shí)執(zhí)行結(jié)果仔細(xì)看的話(huà) 也可以看出些問(wèn)題  上面說(shuō)了是http 而不是 https.

所以仔細(xì)分析提示很重要,不要提示都沒(méi)搞清楚就各種搞
根據(jù)提示搞清原因很重要--能讓你快速定位問(wèn)題所在 快速解決問(wèn)題
--看提示 仔細(xì)分析 定位問(wèn)題
--各種可能都試一下,大膽推翻自己的的理解

第一個(gè)也是這幾個(gè)月心得之一,,今天再次讓我心服口服,。
剛開(kāi)始提示啥的哪會(huì)看,,后來(lái)犯錯(cuò)多了,發(fā)現(xiàn)提示的都是那幾個(gè)東西,,
想起以前怎么改的一路下去就正確了 其實(shí)這個(gè)提示我也看了,不過(guò)沒(méi)太仔細(xì)而且理解錯(cuò)誤,
我以為這是正常html的一部分 告訴讀者會(huì)把輸入的http 換成htts,
我一想也對(duì),瀏覽器上面也是https。結(jié)果正好相反

二,、編碼問(wèn)題

在爬一些網(wǎng)站有這個(gè)報(bào)錯(cuò) File "crawler_eg.py", line 10, in data=resp.read().decode('UTF-8')

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 126: invalid start byte

根據(jù)提示 解碼錯(cuò)誤 2個(gè)方法 --選擇解碼字符集錯(cuò)誤 把utf-8換成其它字符集
或--字符集正確,但不屬于字符集解碼內(nèi)容的部分?jǐn)?shù)據(jù)轉(zhuǎn)化出錯(cuò) decode('utf-8','ignore')--默認(rèn)第二個(gè)參數(shù)為strict,改為ignore后直接忽視不能轉(zhuǎn)換的數(shù)據(jù)

三,、常見(jiàn)的一些錯(cuò)誤提示 

req=request.Request(http://www.) ^ SyntaxError: invalid syntax

--代碼中有無(wú)效字符(非法或不符合規(guī)范),通常錯(cuò)誤都在標(biāo)注的 ^ 附近(也不一定哦)

IndentationError:unexpected indent

--這類(lèi)通常你的代碼縮進(jìn)出現(xiàn)錯(cuò)誤,找個(gè)好的編輯器,它會(huì)用整齊劃一的線(xiàn)條給你一個(gè)標(biāo)記。照著線(xiàn)條調(diào)整就好

[總計(jì)175篇]2017年測(cè)試技術(shù)精選大集合

開(kāi)源優(yōu)測(cè)

分享軟件測(cè)試開(kāi)源技術(shù),、經(jīng)驗(yàn),、方案的首發(fā)平臺(tái)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多