pythpn学习の爬虫爬取糗事百科热门段子

根据别人写的教程学习的 由于现在糗事百科那个代码进行了修改 原来使用的正则表达式不适用了自己重新写的正则表达式 可以爬取热门段子的作者 内容 发布时间 赞数


<span style="font-family:KaiTi_GB2312;font-size:18px;">#__author youngkl
# -*- 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".*?title="(.*?)">(.*?)</div>(.*?)<div class="stats.*?class="number">(.*?)</i>',re.s)
    pattern=re.compile(r'<div.*?class="author".*?>.*?\n<a.*?>\n<img.*?src=.*?/>(.*?)</a>\n</div>\n.*?<div.*?class="content".*?>\n+(.*?)\n<!--(.*?)-->\n+</div>\n.*?<div.*?class="stats.*?class="number">(.*?)</i>',re.S)
    # pattern = re.compile(r'<div.*?class="author".*?>.*?\n<a.*?>\n<img.*?src="(.*?)".*?alt="(.*?)".*?/>\n</a>\n<a.*?>(.*?).*?</a>\n</div>\n+<div.*?class="content".*?>\n+(.*?)\n<!--(.*?)-->\n+</div>\n+[\s\S]*?<div.*?class="stats">\n<span.*?><i.*?>(.*?)</i>.*?</span>',re.S)
    items=re.findall(pattern,content)
    # print page
    for item in items:
        print item[0],item[1],item[2],item[3]

            # ,item[1],item[2],item[3],item[4]
    # print response.read()
except urllib2.URLError, e:
    if hasattr(e,"code"):
        print e.code
    if hasattr(e,"reason"):
        print e.reason</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值