管理待抓取的url集合和已抓取的url集合,防止重複抓取、迴圈抓取新增新的url到待爬取集合中。然後,判斷待新增url是否在容器中。
實現方式:
1、記憶體(記憶體可能不夠用,不能永久儲存)
—python記憶體—
待爬取的url集合:set()
已爬取的url集合:set()
set()可以直接取去除集合中重複的內容
2、關聯式資料庫(能永久儲存)
—mysql—
urls(url, is_crawled)
用is_crawled來標誌url是否已爬取,也就是說用乙個表來儲存待爬取和已爬取兩個資料集合
3、快取資料庫(效能高)
—redis—
待爬取的url集合:set
已爬取的url集合:set
從網頁中提取有價值資料的工具
有以下幾種網頁解析器:
1、正規表示式(模糊查詢)
2、html.parser
3、lxml
4、beautifulsoup(結構化解析)
結構化解析-dom(document object model)樹
beautiful soup 4.4.0 文件
1、結構化解析-dom(document object model)樹
例如有以下節點:可以按照三種方式搜尋
2、用法
樹結構以及簡單實現
樹結構,一種非線性結構,指的是n個有父子關係節點的有限集合。樹中任一節點可以有0或多個子節點,但只能有乙個父節點。根節點是乙個特例,根節點沒有父節點,葉子節點沒有子節點。樹中每個節點既可以是其上一級節點的子節點,也可以是下一級節點的父節點,因此同乙個節點可以既是父節點,也是子節點。如果按節點是否包含...
python爬蟲簡單 python爬蟲 簡單版
學過python的帥哥都知道,爬蟲是python的非常好玩的東西,而且python自帶urllib urllib2 requests等的庫,為爬蟲的開發提供大大的方便。這次我要用urllib2,爬一堆風景。先上重點 1 response urllib2.urlopen url read 2 soup...
python爬蟲入門簡單爬蟲
coding utf 8 from bs4 import beautifulsoup,soupstrainer from threading import lock,thread import sys,time,os from urlparse import urlparse,urljoin fro...