技术文章 > Python技术 > Python爬虫 > 正文

如何用Python爬虫获取段子?

生活或许是平淡的,但我们可以自己找一点乐子。有的小伙伴就很喜欢看一些搞笑的段子,生活在开心中度过。小编也喜欢这种有意思的内容,毕竟忙碌一天之后,看看能够放松一下。今天小编就为大家带来获取搞笑好玩段子的方法,一次性保存起来慢慢看,希望大家都能有一个愉快的心情。


糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和 CPU 占用过高的情况,是因为正则表达式没有匹配到的缘故。 现在,博主已经对程序进行了重新修改,代码亲测可用。

 首先我们确定好页面的URL。初步构建如下的代码来打印页面代码内容试试看,先构造最基本的页面抓取方式,看看会不会成功。

# -*- coding:utf-8 -*-
import urllib
import urllib2
 
 
page = 1
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
try:
    request = urllib2.Request(url)
    response = urllib2.urlopen(request)
    print response.read()
except urllib2.URLError, e:
    if hasattr(e,"code"):
        print e.code
    if hasattr(e,"reason"):
        print e.reason

运行程序,哦不,它竟然报错了,真是时运不济,命途多舛啊

line 373, in _read_status
 raise BadStatusLine(line)
httplib.BadStatusLine: ''

好吧,应该是 headers 验证的问题,我们加上一个 headers 验证试试看吧,将代码修改如下

# -*- coding:utf-8 -*-
import urllib
import urllib2
 
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)
    print response.read()
except urllib2.URLError, e:
    if hasattr(e,"code"):
        print e.code
    if hasattr(e,"reason"):
        print e.reason


嘿嘿,这次运行终于正常了,打印出了第一页的 HTML 代码,大家可以运行下代码试试看。在这里运行结果太长就不贴了。


以上就是Python爬虫中获取段子的方法。愿小伙伴们每天都能一笑,心态好爱笑的人也会收获更多的朋友和快乐。段子也可以分享给好朋友一起看,把快乐传递给更多的人。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 Headers如何在Python爬虫中设置?
 地址代理如何在python爬虫中设置?
 如何在Python爬虫中获取图片?
 如何解决Python爬虫中的网络掉线问题?
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
推荐视频
视频教程分类