1、原理介绍
2、代码实现
3、总结
4、结果展示
1、原理介绍
跟踪网页中的链接,利用正则表达式只访问感兴趣的内容。其实就是获取起始页面中的所有链接,通过正则表达式过滤出我们感兴趣的链接访问,再新打开的页面中再做同样的事情,从而追踪下去。
通过跟踪每个链接的方式,能够很容易地下载整个网站的页面。但是,这种方法可能会下载很多并不需要的网页。例如,当我们从一个在线论坛抓取用户账号的详细页,那么此时我们只需要下载下载账号页,而不需要下载讨论贴的页面。(本节使用的链接爬虫将使用正则表达式来确定应当下载哪些页面)
2、代码实现
import re
from urllib.parse import urljoin
import urllib.request
from urllib.error import URLError, HTTPError, ContentTooShortError
# 以Chrom为默认代理,默认重试两次的爬取网页封装函数;获取网页指定的解码格式,否则使用默认的'utf-8'格式
def GetData(url, proxy='', retry=2, charset='utf-8'):
print('download : ' + url)
if proxy == '':
proxy = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.