使用requests模块爬虫
虽然干技术多年了,但从没有写过博客,想来甚是惭愧,本篇作为我博客的第一篇,也是测试篇。不为写的好,只为博诸君一眸而已。
使用python爬虫,有几个比较常用的,获取html_content的模块urllib,urllib2以及requests。相对于前两个模块来说,requests模块较为容易使用,本篇就通过一个小例子来说明如何使用它来成功爬取我们要使用的数据
目标网址:http://neihanshequ.com/
目标数据:爬取内涵段子网首页的”段子“
爬取方式:requests + re正则匹配
由于requests模块是第三方模块,使用前需要先安装(windows系统,在cmd下):
pip install requests
安装完毕后,就可以直接导入,使用了。以下是代码及解析:
1 # -*- coding: utf-8 -*- 2 __author__ = 'EasouChen' 3 4 #导入requests模块 5 import requests 6 7 #导入re模块,用来匹配我们真正想要的内容 8 import re 9 10 #定义要爬取的网页链接,如http://neihanshequ.com/内涵段子 11 url = 'http://neihanshequ.com/' 12 13 #伪装一下header,把爬虫伪装成浏览器 14 headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'} 15 16 #获取网页的整个html源码 17 content = requests.get(url,headers=headers).text 18 19 #使用re模块来匹配content,获取我们真正需要的内容:段子 20 result = re.findall(r'data-text="(.*)"',content,re.M) 21 22 #循环result列表,打印段子 23 for i,y in enumerate(result,1):
24 print '以下是段子%d:'%i
25 print y.encode('utf-8')