簡單爬蟲學習

簡單爬蟲

項目流程:
1、確定爬取目標;入口地址,頁面元素的審查元素地址,是否完整,(不完整就需要拼接)
2、分析爬取目標:url格式;數據格式;網頁編碼;
3、編寫代碼;
4、運行代碼;

爬蟲的架構:

1、爬蟲調度器;
2、url管理器;
3、網頁解析器;
4、網頁下載器;

爬蟲調度器:

url管理器:

功能:實現url的新增,查找,刪除,更新這些功能。
實現方式:
1、set():將待爬取和已爬取的url存放在python內存分配集合中。
2、mysql:關係數據庫
3、redis:緩存數據庫

網頁解析器:

1、正則表達式;模糊匹配一個字符串(網頁)中的內容;直觀,不過,不適用於複雜頁面;
2、html.parser:內置模塊,結構化解析
3、beautifulsoup:第三方插件庫;結構化解析【用於提取html和xml中的數據:https://www.crummy.com/software/BeautifulSoup/bs4/doc/】
4、lxml:結構化解析
結構化解析:
在這裏插入圖片描述
a、創建beautifulsoup對象;
b、搜索節點find、find_all樹;【節點,屬性,內容】
c、訪問節點內容;【節點,屬性,內容】

網頁下載器:

功能:下載需要url網頁存儲到本地文件或字符串。
實現方式:
1、urllib2:python基礎模塊 urllib2->urlopen
2、requests:第三方模塊。模擬瀏覽器參數,傳輸給requests。再用urllib2->urlopen。
3、特殊情景處理器:
備註說明:urllib庫在python2與python3中的區別
Urllib是python提供的一個用於操作url的模塊。在python2中,有urllib庫和urllib2庫。在python3中,urllib2合併到urllib庫中,我們爬取網頁的時候,經常用到這個庫。升級合併後,模塊中包的位置變化的地方較多。以下是python2與python3中常用的關於urllib庫的變化:
【python2】urllib2.bulid_opener :【python3】urllib.request.bulid_opener
【python2】cookielib.CookieJa :【python3】http.CookieJar
【python2】urllib2.Request :【python3】urllib.request.Request

輸出管理:

1、新建文件;
2、寫入爬取數據信息;
3、關閉文件;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章