簡單爬蟲結構以及BeautifulSoup

2021-09-29 00:18:26 字數 900 閱讀 7754

管理待抓取的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...