Python 爬取糗事百科段子-阿里云开发者社区

开发者社区> 凌浩雨> 正文

Python 爬取糗事百科段子

简介: #!/usr/bin/python # -*- coding:utf-8 -*- import urllib import urllib2 import re import sys reload(sys) sys.
+关注继续查看
#!/usr/bin/python
# -*- coding:utf-8 -*-
import urllib
import urllib2
import re
import sys
reload(sys)
sys.setdefaultencoding('utf8') 

page = 1
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'
headers = {'User-Agent':user_agent}
try:
    request = urllib2.Request(url,headers = headers)
    response  = urllib2.urlopen(request)
   # print response.read()
 
    ######_match_ string
 
    content = response.read().decode('utf-8')
    # 其中 (.*?)为匹配的内容
    # 如果对正则不是很熟的同学,可以参考以下: 
    # 1. “.”是通配符,”*”表示匹配0次或任意次,”?”表示非贪婪匹配,.*?组合在一起则表示尽可能短地做匹配。 
    # 2. (.*?)代表一个分组,或者说一个捕获组。 
    # 3. re.S 标志代表在匹配时为点任意匹配模式,点 . 也可以代表换行符。 
    pattern = re.compile(r'<div.*?author clearfix".*?<img.*?<h2>(.*?)</h2>.*?<div.*?'+
                         'content">.*?<span>(.*?)</span>.*?<div class="stats.*?class="number">(.*?)</i>',re.S)
    items = re.findall(pattern,content)
    # print("%s"%items)
    for item in items:
        print("auther:%s"%item[0])
        print("content:%s"%item[1])
        print("likes:%s\n"%item[2])
 
except urllib2.URLError,e:
    if hasattr(e,'code'):
        print e.code
    if hasattr(e,'reaon'):
        print e.reason

原文地址

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
来更快的Maven了,我的天,速度提升了8倍!(1)
更快的Maven来了,我的天,速度提升了8倍!(1)
42 0
MySql5.7数据优化,瞬间飞起
MySql5.7数据优化,瞬间飞起
5 0
Chrome_Browse
亮点介绍 1、使web项目通过Chrome_Browse调用各种硬件; 2、使web项目通过Chrome_Browse控制缓存; 3、使web项目通过Chrome_Browse控制PC权限(通f过获取CPU、硬盘的编号可以与后台数据库交互进行鉴权); 4、其他更多的与windows交互的功能;
10 0
升级了 Windows 11 正式版,有坑吗?(5)
升级了 Windows 11 正式版,有坑吗?(5)
8 0
MQTT知识大全【科普贴】
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于客户端与服务器之间发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。为了保证通讯的安全性和可靠性,该协议基于TCP/IP协议构建。由IBM在1999年发布,最初被用于石油管道传感器与卫星的通讯连接,2014年,它正式成为一个OASIS开放标准并得到了大量开源语言的支持。
9 0
python测试框架-pytest
python测试框架-pytest 一、pytest 介绍、运行、参数化和数据驱动、Fixture pytest安装与介绍 官网 : pip install -U pytest 查看版本号:pytest --version 为何选择pytest 兼容unittest 定制化插件开发 pycharm 配置github VSC--Git--Remotes... pycharm pytest 配置 settings--搜索pytest--Python integrated Tools--testing--选择pytest:根据黄色叹号fix安装pytest安装到环境
1 0
升级了 Windows 11 正式版,有坑吗?(4)
升级了 Windows 11 正式版,有坑吗?(4)
8 0
升级了 Windows 11 正式版,有坑吗?(3)
升级了 Windows 11 正式版,有坑吗?(3)
9 0
升级了 Windows 11 正式版,有坑吗?(1)
升级了 Windows 11 正式版,有坑吗?(1)
3 0
+关注
凌浩雨
毕业于贵州大学大数据与信息工程学院,目前是一名移动端工程师,就职于北京乾元大通信息技术有限责任公司。
398
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载