环境
- Python2.7
- 正则表达式的基本运用
- urllib 和 urllib2 库的基本运用
- re 正则表达式库 基本运用
# -*- coding:utf-8 -*-
# -*- coding:utf-8 -*-
""" 抓取嗅事百科的段子 """
import urllib
import urllib2
import re
page = 1
url = "https://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.*?>.*?<h2>(.*?)</h2>.*?</a>.*?<div.*?class="content">.*?<span>(.*?)</span>.*?.*?<div class="stats.*?class="number">(.*?)</i>',re.S)
items = re.findall(pattern,content)
for item in items:
print item[0].strip()
print item[1].strip()
print item[2].strip()
except urllib2.URLError,e:
if hasattr(e,"code"):
print e.code
if hasattr(e,"reason"):
print e.reason
正则表达式运用的基本解释
- .? 表示匹配任意的字符 .*? 表示非贪婪匹配 表示往数据集小的方向
- (.*?) 表示一个分组,获取匹配的内容
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于