python数据采集框架_20190715《Python网络数据采集》第 1 章
《Python網(wǎng)絡(luò)數(shù)據(jù)采集》7月8號-7月10號,這三天將該書精讀一遍,腦海中有了一個爬蟲大體框架后,對于后續(xù)學(xué)習(xí)將更加有全局感。
此前,曾試驗看視頻學(xué)習(xí),但是一個視頻基本2小時,全部拿下需要30多個視頻,如此看來每天學(xué)習(xí)一個視頻時間都是非常吃力的,且都屬于被動輸入,尤其是在早上學(xué)習(xí)視頻容易犯困。
故此,及時調(diào)整學(xué)習(xí)策略,采用?“電子書+廖雪峰網(wǎng)頁教程+實操+Google+咨詢程序員+每日總結(jié)歸納”的主動學(xué)習(xí)模式,如此更加高效,更加容易把控進度!
學(xué)習(xí)爬蟲,一者興趣,致力于借此興趣驅(qū)動力掌握編程思維,進而讓自己有能夠?qū)⑾敕ㄗ龀僧a(chǎn)品的的技能;二者,為了一個近在眼前的爬蟲商業(yè)化機遇,更希望借此為自己增加一個收入來源。
1. 爬蟲常見得異常及處理方法,用一個簡單得爬蟲代碼解釋,核心知識點:
(1)異常一:網(wǎng)頁在服務(wù)器上不存在(或者獲取頁面時,出現(xiàn)錯誤)。該異常發(fā)生時,程序會返回HTTP錯誤,如“404 Page Not Found” "500 Internet Server Error"等。
(2)異常二:服務(wù)器不存在(即,鏈接打不開,或者URL鏈接寫錯了),這時,urlopen會返回一個None對象。
Ps:有的時候,網(wǎng)頁已經(jīng)從服務(wù)器成功獲取,如果網(wǎng)頁上的內(nèi)容并非完全是我們期望的那樣,也會出現(xiàn)異常。
1 from urllib.request importurlopen
2 from bs4 importBeautifulSoup
3
4 try:
5 html = urlopen("http://pythonscraping.com/pages/page1.html")
6 # print(html.read())
7 # 檢測:網(wǎng)頁在服務(wù)器上是否存在(或者獲取頁面時是否出現(xiàn)錯誤)
8 exceptHTTPError as e:
9 print(e)
10 else:
11 bsobj =BeautifulSoup(html.read())
12 # 檢測:服務(wù)器是否存在(就是說鏈接能否打開,或者是URL鏈接寫錯了)
13 if html isNone:
14 print("URL is not found")
15 else:
16 print(bsobj.h1)
17 # print(bsobj.title)
1 # 以上代碼更改為檢測異常更全面、可讀性更強的代碼,如下:
2 from urllib.request importurlopen
3 from bs4 importBeautifulSoup
4
5 defgetTitle(url):
6 try:
7 html =urlopen(url)
8 exceptHTTPError as e:
9 returnNone
10 try:
11 bsobj =BeautifulSoup(html.read())
12 title =bsobj.body.h1
13 exceptAttributeError as e:
14 return
15 returntitle
16
17 title1 = getTitle("http://pythonscraping.com/pages/page1.html")
18 if title1 ==None:
19 print("Title could not be found")
20 else:
21 print(title1)
該部分代碼執(zhí)行時,出現(xiàn)報錯:
indentationerror: unexpected indent process finished with exit code 1
Google發(fā)現(xiàn),Tag和Space不能混合使用。原始第五行,def被tab縮進,后刪除該tab縮進,問題解決。該問題具體原因,仍需要仔細(xì)查明!!!
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python数据采集框架_20190715《Python网络数据采集》第 1 章的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: delphi 读取ini所有项_财务机器
- 下一篇: 我用python是什么梗_Python中