Python实现抓取糗事百科的段子
2015-12-29 17:31
519 查看
原文网址http://python.jobbole.com/81351/#article-comment
原网址正则表达式并不能准确的获取糗事百科的段子
对正则表达式修改后的代码
# -*- coding:utf-8 -*-
import urllib
import urllib2
import re
#获取糗百的第一页
page = 1
#网址路径
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
try:
request = urllib2.Request(url,headers = headers)
response = urllib2.urlopen(request)
content = response.read().decode('utf-8')
pattern = re.compile('<div.*?class="author.*?>.*?<a.*?</a>.*?<a.*?>(.*?)</a>.*?<div.*?class'+
'="content".*?>(.*?)</div>(.*?)<div class="stats.*?class="number">(.*?)</i>',re.S)
items = re.findall(pattern,content)
for item in items:
haveImg = re.search("img",item[3])
if not haveImg:
print item[0].strip('<h2>'),item[1],item[3]
except urllib2.URLError, e:
if hasattr(e,"code"):
print e.code
if hasattr(e,"reason"):
print e.reason
原网址正则表达式并不能准确的获取糗事百科的段子
对正则表达式修改后的代码
# -*- coding:utf-8 -*-
import urllib
import urllib2
import re
#获取糗百的第一页
page = 1
#网址路径
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
try:
request = urllib2.Request(url,headers = headers)
response = urllib2.urlopen(request)
content = response.read().decode('utf-8')
pattern = re.compile('<div.*?class="author.*?>.*?<a.*?</a>.*?<a.*?>(.*?)</a>.*?<div.*?class'+
'="content".*?>(.*?)</div>(.*?)<div class="stats.*?class="number">(.*?)</i>',re.S)
items = re.findall(pattern,content)
for item in items:
haveImg = re.search("img",item[3])
if not haveImg:
print item[0].strip('<h2>'),item[1],item[3]
except urllib2.URLError, e:
if hasattr(e,"code"):
print e.code
if hasattr(e,"reason"):
print e.reason
相关文章推荐
- Python 使用 xlrd 读取 Excel格式文件
- Python 1.2 中的字符串和编码
- python汉字编码的问题
- caffe预测、特征可视化python接口调用
- Python连接Mysql数据库报错,安装MySQLdb模块
- python查找时,不支持compound class
- 【Python】Advanced String Formatting
- python实用技巧(二)
- 零基础入门学习Python(23):魔法方法(3)属性访问
- 【python】r+,w+ 全局变量
- python 统计代码行数,注释行数的简单实现
- python爬虫帮妈妈刷学分
- Python逐行读取文件内容
- PYTHON设计模式,创建型之工厂方法模式
- python参数处理
- PYTHON设计模式,创建型之简单工厂模式
- Python:模块
- Python基础:11.2_函数调用
- 排序算法—快速排序算法分析与实现(Python)
- ArcGIS使用python进行三规合一用地调整