相信大家都遇到一个问题——百度搜索的结果可能50%都是广告,今天我们尝试搭建一个个性化搜索引擎。
我们使用网络爬虫来解决该问题,从自动搜索、抓取网页,提取网页内容、按照个性化匹配内容,输出保存,模拟搜索引擎的工作工程。
Python在网络爬虫方面也有很多成熟的库,也有很好的框架可以提供。
Python网络爬虫
Python网络爬虫,通过Python自动获取url的网页html内容,然后用正则表达式分析html,得到你想要的内容,包括url、文字、图片等。
如果必要,就可以对网页内url进行分析,进一步爬取,直到获得自己想要的内容。
当然通过文本语义分析,判断该网页是否是自己想要的内容也很重要。
Python爬取百度首页
今天我们用python3自带的urllib获取url内容。urllib是一组处理URLs的包,其中request模块可以打开和读取url链接。
我们看一下最简单的百度首页爬取示例。
from urllib import request
response = request.urlopen("http://www.baidu.com/") #打开百度首页
html = response.read() #读取响应值
html = html.decode('utf-8') #需要解码decode后,才能正常显示。编码方式可以通过网页查询
我们通过可以查看html的详细内容,如
In[23]: html[:20]
Out[23]: '\n