一、參考資料 1.《Python網路數據採集》圖靈工業出版社 2.《精通Python爬蟲框架Scrapy》人民郵電出版社 3.[Scrapy官方教程](http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html) 4.[Python ...
一、參考資料
1.《Python網路數據採集》圖靈工業出版社
2.《精通Python爬蟲框架Scrapy》人民郵電出版社
3.[Scrapy官方教程](http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html)
4.[Python3網路爬蟲](http://blog.csdn.net/c406495762/article/details/72858983
二、前提知識
url、http協議、web前端:html\CSS\JS、ajax、re、Xpath、xml
三、基礎知識
1.爬蟲簡介
爬蟲定義:網路爬蟲(又被稱為網頁蜘蛛、網路機器人、在FOAF社區中,更經常的稱為網頁追逐者)是一種按照一定的規則,自動的抓取萬維網信息的程式或者腳本。兩外一些不常使用的名字還有螞蟻、自動索引、模擬程式或者如蠕蟲。
2.兩大特征
(1)能按作者要求下載數據或者內容
(2)能自動在網路上流竄
3.三大步驟
(1)下載網頁;
(2)提取正確的信息
(3)根據一定規則自動跳到另外的網頁上執行上兩步內容
4.爬蟲分類
(1)通用爬蟲
(2)專用爬蟲
5.Python網路包簡介
Python2:urllib\urllib2\urllib3\httplib\httplib2\requests
Python3.x:urllib\urllib3\httplib2\requests
其中python2中urllib和urllib2配合使用,或者requests
Python3就是使用urllib.requests
6.urllib
包含模塊
urllib.requests:打開和讀取urls
urllib.error:包含urllib.requests產生的常見的錯誤,使用try捕捉
urllib.parse:包含即時url的方法
urllib.robotparse:解析roobs.txt文件
from urllib import request """ 使用urllib,request請求一個網頁內容,並把內容列印出來 """ if __name__ == "__main__": url = "https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=984602018" #打開相應的url並把相應頁面作為返回 rsp = request.urlopen(url) #返回結果讀取出來 html = rsp.read() print(type(html))##bytes類型 html = html.decode() print(html)
7.網頁編碼解析方式chardet包的使用
from urllib import request import chardet """ 使用urllib,request請求一個網頁內容,並把內容列印出來 """ if __name__ == "__main__": url = "https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=984602018" #打開相應的url並把相應頁面作為返回 rsp = request.urlopen(url) #返回結果讀取出來 html = rsp.read() print(type(html))##bytes類型 print("=========================") cs = chardet.detect(html)#利用chardet來檢測這個網頁使用的是什麼編碼方式 print(cs) print(type(cs)) #使用get方法是為了避免如果取不到值報錯,程式就崩潰了 html = html.decode(cs.get("encoding","utf-8"))#取cs字典中encoding屬性,如果取不到,那麼就使用utf-8
四、源碼
Reptile1_SimpleAnalysis.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptile1_SimpleAnalysis.py
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料