从零开始学抓取
昨天突然遇到了一个需要统计某个网站所有页面单词数的任务,于是从零开始学起python搞抓取。
看了一下资料,需要用到下面几个库:
- beautifulsoup4(分析html)
- lxml(html praser)
- requests(请求页面)
- xlwt(导出excel表格)
下面是代码
import requests
from bs4 import BeautifulSoup
import lxml
import re
url = "http://www.baidu.com"
homepage = requests.get(url).text
#检查返回页面的内容
#print (homepage)
soup = BeautifulSoup(homepage,'lxml')
for linkpage in soup.find_all('a'):
linkpage2 = linkpage.get('href')
#检查有哪些连接
#print(linkpage.get('href'))
if linkpage2.startswith(url):
#正则表达式删除末尾的锚位
print(re.sub(r'\#.*',"",linkpage2))
elif linkpage2.startswith("/"):
print(url + re.sub(r'\#.*',"",linkpage2))