之前在寒假的時候,學習了python基礎。在慕課網上看的python入門:http://www.imooc.com/learn/177
python進階:http://www.imooc.com/learn/317
其實好多知識都是學了忘,忘了學的。
最近因為要使用爬蟲爬去數據和照片,所以現在開始學習網絡爬蟲。
爬蟲架構:URL管理器,網頁下載器,網頁解析器
URL管理器:管理待抓取URL集合和已抓取URL集合 防止重復抓取。
URL管理器實現方法: 緩存數據庫:大公司,性能高 內存:個人,小公司 關系數據庫:永久保存URL數據或節約內存
網頁下載器:將URL對應的網頁以HTML下載到本地,用於后續分析 常見網頁下載器:Python官方基礎模塊:urllib2 第三方功能包:requests
python 3.x中urllib庫和urilib2庫合並成了urllib庫。 其中urllib2.urlopen()變成了urllib.request.urlopen() urllib2.Request()變成了urllib.request.Request()
Python的網頁解析器分為兩類: 1.模糊匹配—>正則表達式 2.結構化解析-> Beautiful Soup、html.parser、lxml 把整個網頁作為一個DOM樹來進行解析。(Document Objective Model)
新建一個pydev module。在里面輸入:
import bs4
print(bs4)
右鍵文檔 run as -> python as
運行出錯。打開win+R,cmd
進入命令提示符。進入python的安裝目錄,cd script
pip install beautifulsoup4
進行安裝。
安裝成功后重新運行。
報錯:
UserWarning: You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.
解決方法:
soup = BeautifulSoup(html_doc,"html.parser")
這一句中刪除【from_encoding="utf-8"】
原因:
python3 缺省的編碼是unicode, 再在from_encoding設置為utf8, 會被忽視掉,去掉【from_encoding="utf-8"】這一個好了


