网络爬虫结构
-
首先选取一部分精心挑选的种子URL。
-
将这些URL放入待抓取URL队列。
-
从待抓取URL队列中读取待抓取队列的URL,解析DNS,并且得到主机的IP,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。
-
分析已抓取URL队列中的URL,从已下载的网页数据中分析出其他URL,并和已抓取的URL进行比较去重,最后将去重过的URL放入待抓取URL队列,从而进入下一个循环。
爬虫步骤
需要模块
1、urllib模块
#第一种方式
import urllib.request
#第二种方式
from urllib import request
2、re模块
import re
- 数据挖掘
from urllib import request
url = r"http://www.baidu.com/" #去掉https的s,r是utf8字码
respons = request.urlopen(url).read()
print(respons)
- 数据清洗
from urllib import request
import re
url = r"http://www.baidu.com/" #去掉https的s,
respons = request.urlopen(url).read().decode() #解码(有中文) ---编码encode
pat = r"<title>(.*?)</title>"
dat = re.findall(pat,respons)
print(dat);