您现在的位置是:首页 > 文章详情

Python 爬取糗事百科段子

日期:2018-08-30点击:385
#!/usr/bin/python # -*- coding:utf-8 -*- import urllib import urllib2 import re import sys reload(sys) sys.setdefaultencoding('utf8') page = 1 url = 'http://www.qiushibaike.com/hot/page/' + str(page) user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36' headers = {'User-Agent':user_agent} try: request = urllib2.Request(url,headers = headers) response = urllib2.urlopen(request) # print response.read() ######_match_ string content = response.read().decode('utf-8') # 其中 (.*?)为匹配的内容 # 如果对正则不是很熟的同学,可以参考以下: # 1. “.”是通配符,”*”表示匹配0次或任意次,”?”表示非贪婪匹配,.*?组合在一起则表示尽可能短地做匹配。 # 2. (.*?)代表一个分组,或者说一个捕获组。 # 3. re.S 标志代表在匹配时为点任意匹配模式,点 . 也可以代表换行符。 pattern = re.compile(r'<div.*?author clearfix".*?<img.*?<h2>(.*?)</h2>.*?<div.*?'+ 'content">.*?<span>(.*?)</span>.*?<div class="stats.*?class="number">(.*?)</i>',re.S) items = re.findall(pattern,content) # print("%s"%items) for item in items: print("auther:%s"%item[0]) print("content:%s"%item[1]) print("likes:%s\n"%item[2]) except urllib2.URLError,e: if hasattr(e,'code'): print e.code if hasattr(e,'reaon'): print e.reason 

原文地址

原文链接:https://yq.aliyun.com/articles/663237
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章