URL管理器
实现方式:
- 基于内存set()
- 基于数据库(包含关系型如:oracle、mysql等,还有非关系型如:redis、pg等)
包含属性:
- 保存“爬”过的url
- 保存未“爬”过的url
包含方法:
- add增加一个url
- get获取一个url
网页下载器
实现方式:
- urllib2
response = urllib2.urlopen(url)
if response.getcode()!=200
return
return response.read()
- request
网页解析器
实现方式:
- beautiful soup
soup = BeautifulSoup(html_doc,'html_parser',from_encoding='utf-8')
#获取所有文字内容:
soup.get_text()
#获取标签:
soup.find(id="link3")
soup.find_all('a',href=re.complie(''))