zoukankan      html  css  js  c++  java
  • Python爬虫实战:爬糗事百科的段子

    一个偶然的机会接触了Python,感觉很好用,但是一直在看c++啥的,也没系统学习。用过之后也荒废了许久。之前想建个公众号自动爬糗事百科的段子,但是没能建起来,真是尴尬,代码上传的服务器上之后,不能正确回复公众号的消息。

    听说微信是有个什么调试功能,但我也不会用,后来就开始考试,给忘了这件事。今天看见了之前学习的糗百的爬虫代码,也算是第一次写,写个帖子纪念一下。

    从中还是学习了有关正则表达式的许多知识,不过糗百的网页有时候会更新结构,正则表达式就要从写。。。这个要是能自动生成正则表达式就好了。。。也不知道有没有这样的功能。。。

    # -*- 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)
        #data = response.read()
        #data = data.decode('utf-8')
    
        content = response.read().decode('utf-8')
       #pattern = re.compile('<div.*?author">.*?<a.*?<img.*?>(.*?)</a>.*?<div.*?'+
        #                     'content">(.*?)<!--(.*?)-->.*?</div>(.*?)<div class="stats.*?class="number">(.*?)</i>',re.S)
    
    
        pattern = re.compile('<div class="author clearfix">.*?<a href.*?title=.*?<h2>(.*?)</h2>.*?<div class="content".*?span>(.*?)</.*?div>.*?<i class="number">(.*?)</i>',re.S)
    
        items = re.findall(pattern,content)
        for item in items:
                #haveImg = re.search("img",item[3])
                #if not haveImg:
                    print u"发布者:"+item[0],u"点赞数"+item[2]
                    print u"内容:"+item[1]
                    print " "
       # print data
    except urllib2.URLError, e:
        if hasattr(e,"code"):
            print e.code
        if hasattr(e,"reason"):
            print e.reason

    结果

    没正确处理图片和视频。。。

  • 相关阅读:
    Oracle 即时客户点下载以及简单连接数据库的方法
    公司网络限制的一个变通解决方法
    Java 虚拟机的运行模式
    DELPHI MAKEWORD的用法
    delphi absolute 应用实例
    从此不求人:自主研发一套PHP前端开发框架
    windows 手动安装 PostgreSQL 9.0 zip解压缩版
    使用免安装版本在windows上手动安装PostgreSQL
    吐血整理 Delphi系列书籍 118本(全)
    Delphi中Frame的使用方法(2)
  • 原文地址:https://www.cnblogs.com/HsinTsao/p/6533246.html
Copyright © 2011-2022 走看看