Python爬虫爬取糗百

1、构造请求,查看爬取的URL,因为糗百的内容有可能有多页,并且内容很多,所以在爬取的时候选择只爬取文正的ID以及内容

2、构造爬取过程中的正则表达式,筛选出所需内容(根据网页源代码)

3、对爬取内容进行输出展示

#!/usr/bin/env python
#coding=utf-8
import  urllib2
import  urllib
import  re
import  time
from urllib2 import  HTTPError
def getdata(url):
    user_agent = 'Mozilla/5.0(Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/56.0.2924.87 Safari/537.36'
    headers= {'User-Agent':user_agent}
    request = urllib2.Request(url=url,headers=headers)
    response = urllib2.urlopen(request)
    content = response.read()
    pattern = re.compile('<ahref="/article/(\d+)"\s+target.*?contentHerf.*?<span>(.*?)</span>',re.S)
    result = re.findall(pattern,content)
    returnresult
if __name__ == '__main__':
    start_page = 1
    end_page= 35
    fori inrange(start_page,end_page):
        url = 'http://www.qiushibaike.com/8hr/page/'+str(i)+'/?s=4969805'
        res= getdata(url)
        ifres == None:
            print'no result return'
        else:
            forline inres:
                print line[0],line[1].replace('<br/>','')
        time.sleep(1)

查看网页的源代码如下

<a href="/article/118806702"target="_blank" class='contentHerf' >

<div class="content">

<span>巨招财的石头,左下角发发发发</span>

</div>

</a>

根据文本内容构造了如下的正则

re.compile('<ahref="/article/(\d+)"\s+target.*?contentHerf.*?<span>(.*?)</span>',re.S)

re.S表示的是在普通的正则中(.)这个符号不能代表换行符,利用这个模式之后,换行符同样能用(.)来表示单个字符(.符号用括号括起来,防止看不清楚)

之后就可以对文本进行输出处理了。

python 爬取糗百相关推荐

  1. python爬虫练习1:通过python爬取糗事百科的搞笑图片

    爬取糗百的图片 最近在研究python,想着自学爬虫获取数据,到时候进行数据分析 在爬取图片的时候有些曲折,但是最终还是被我攻克下来了 话不多说,我们开始 我们要爬取的网站是 糗事百科 的图片 首先, ...

  2. python爬取电影评分_用Python爬取猫眼上的top100评分电影

    代码如下: # 注意encoding = 'utf-8'和ensure_ascii = False,不写的话不能输出汉字 import requests from requests.exception ...

  3. 用Python爬取好奇心日报

    用Python爬取好奇心日报 本项目最后更新于2018-7-24,可能会因为没有更新而失效.如已失效或需要修正,请联系我! 本项目已授权微信公众号"菜鸟学Python"发表文章 爬 ...

  4. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  5. Python 爬取北京二手房数据,分析北漂族买得起房吗?(附完整源码)

    来源:CSDN 本文约3500字,建议阅读9分钟. 本文根据Python爬取了赶集网北京二手房数据,R对爬取的二手房房价做线性回归分析,适合刚刚接触Python&R的同学们学习参考. 房价高是 ...

  6. python爬取天气_python3爬取各类天气信息

    本来是想从网上找找有没有现成的爬取空气质量状况和天气情况的爬虫程序,结果找了一会儿感觉还是自己写一个吧. 主要是爬取北京包括北京周边省会城市的空气质量数据和天气数据. 过程中出现了一个错误:Unico ...

  7. html如何获取请求头变量的值。_如何使用 Python 爬取微信公众号文章

    我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章.但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦. 于是便想着能 ...

  8. python爬取网页书籍名称代码_python爬取亚马逊书籍信息代码分享

    我有个需求就是抓取一些简单的书籍信息存储到mysql数据库,例如,封面图片,书名,类型,作者,简历,出版社,语种. 我比较之后,决定在亚马逊来实现我的需求. 我分析网站后发现,亚马逊有个高级搜索的功能 ...

  9. python爬取资料_Python爬取FLASH播放器中的资料

    Python爬取FLASH播放器中的资料. 一.首先了解一下AMF协议:AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HT ...

最新文章

  1. CLR Via CSharp读书笔记(29) - 混合线程同步构造
  2. 您应该保持联系的十大高级Java对话
  3. C++学习——C++中的四种类型转换
  4. 微软:SolarWinds 供应链攻击事件幕后黑手攻击全球24国政府
  5. MyBatis数据库链接池源码分析
  6. 分享几个百度网盘搜索引擎
  7. 【数据分享】中国城市统计年鉴_2001-2021年
  8. 利用datafaker批量生成测试数据
  9. windows server 2019 安装CA-证书服务器
  10. 从无序到有序的负熵力量
  11. ShadowLayout 实现阴影效果
  12. GitHub如何征服了Google、微软及一切
  13. 使用Kinect V2进行录制视频
  14. 前端VS后端Web开发
  15. 大数据时代对存储发展需要哪些要求
  16. html拖拽手势,h5实现手势操作放大缩小拖动等
  17. C++数据结构——小明的通讯录(哈希表线性探测法)
  18. 《离散数学》期末练习题
  19. 宋甲伟老师 5G通信服务实战专家
  20. JS实现简单农场小游戏

热门文章

  1. FPGA-出租车计价器的实现
  2. 简单易懂的人工智能系列:关联规则
  3. 504服务器无响应,什么是504网关超时错误(以及如何解决)? | MOS86
  4. 斯坦福教授告诉你:什么是元学习「 CS330 笔记 (三) 」
  5. 学习记录573@双重签名与电子交易概述
  6. 格式化D盘显示有一个应用程序正在运行,无法格式化
  7. windows常用命令及相关命令
  8. H750移植rt_thread操作系统完整工程分享,包括外部FLASH分散加载文件
  9. 树莓派4b学习笔记三--基于Ubuntu搭建Docker 和portainer,基于Docker 搭建Homeassistant、EMQX
  10. 微信小程序 录像 录视频