当我们想买一款手机,当我们想知道其他人对一款产品的评价,当我们有各种各样疑问的时候,我们总是要打开百度,Google等搜索引擎,搜索相关问题。而不是在自己电脑里,或者到书架上翻书查找。这是因为大量的数据来源于互联网,而百度和Google就是一个从互联网上抓取数据的大爬虫。
当我们在浏览器里输入网址发出请求后,浏览器会向web服务器发出http请求,而web服务器回应的就是我们请求的html网页,浏览器再解析html网页,显示其中的文本和图片等信息。
所谓的网络爬虫就类似于这个过程,它模拟的就是浏览器请求网页的过程。这里我们使用urllib可以实现该功能。要注意urllib在python2中有两个版本,urllib和urllib2,在python3中它们已经被整合到一起,叫urllib。
以下代码获取糗事百科的网页:
此代码获取的是全部html网页,浏览器可以解析显示有意义的信息。我们就需要进步处理,提取信息。
我们发现html网页中的段子总是包含在这样的html代码中:
我们可以使用正则表达式获取其中的数据,添加代码如下:
再一次输出已经是我们想要获取的部分: