1.获取糗事百科url

http://www.qiushibaike.com/hot/page/2/    末尾2指第2页

2.分析页面,找到段子部分的位置, 需要一点CSS和HTML的知识

3、编写代码

 1 import urllib.request
 2 from bs4 import BeautifulSoup
 3 from urllib.request import URLError
 4 from urllib.request import HTTPError
 5 import time
 6 # 调用 publicHeaders 文件的方法
 7 from 爬虫.publicHeaders import set_user_agent
 8
 9
10 # 抓取网页
11 def download(pagenum):
12     url = r'https://www.qiushibaike.com/hot/page/'
13
14     # 分页下载
15     for i in range(1,pagenum):
16         #组装url
17         new_url = url + str(pagenum)
18         print(new_url)
19         # 有的时候访问某个网页会一直得不到响应,程序就会卡到那里,我让他1秒后自动超时而抛出异常
20         header = set_user_agent()
21         while 1:
22             try:
23                 req = urllib.request.Request(url=new_url,headers=header)
24                 reponse = urllib.request.urlopen(req,timeout=1)
25                 break
26             # HTTPError是URLError的子类,在产生URLError时也会触发产生HTTPError。因此应该先处理HTTPError
27             except HTTPError as e:
28                 print(e.code)
29                 # 对于抓取到的异常,让程序停止1.1秒,再循环重新访问这个链接,访问成功时退出循环
30                 time.sleep(1.1)
31             except URLError as err:
32                 print(err.reason)
33         # 正常访问,则抓取网页内容
34         html = reponse.read().decode('utf-8')
35         # 找到所有的class名称为content 的div
36         soup = BeautifulSoup(html,"html.parser")
37         contents = soup.findAll("div",{"class":"content"})
38         # # 循环遍历保存每一项,并保存
39         with open("E:\JustForFun.txt", "w") as f:
40             for item in contents:
41                 # 有些内容不是utf-8格式
42                 try:
43                     each_story = item.get_text()
44                 #print(type(each_story))
45                     f.writelines(each_story)
46                 except:
47                     pass

4、执行以下,结果如下:

转载于:https://www.cnblogs.com/scios/p/8673033.html

Python 爬虫系列:糗事百科最热段子相关推荐

  1. python爬虫案例——糗事百科数据采集

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python爬虫案例--糗事百科数据采集 通过python实现糗事百科页面的内容采集是相对来说比较容易的,因为糗事百科不需要登陆,不需要coo ...

  2. python爬虫之糗事百科

    历经1个星期的实践,终于把python爬虫的第一个实践项目完成了,此时此刻,心里有的只能用兴奋来形容,后续将继续加工,把这个做成一个小文件,发给同学,能够在cmd中运行的文件.简化版程序,即单单爬取页 ...

  3. Python爬虫实战糗事百科实例

    爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath / re 做数据提取 获取每个 ...

  4. 14. python爬虫——基于scrapy框架爬取糗事百科上的段子内容

    python爬虫--基于scrapy框架爬取糗事百科上的段子内容 1.需求 2.分析及实现 3.实现效果 4.进行持久化存储 (1)基于终端指令 (2)基于管道 [前置知识]python爬虫--scr ...

  5. python多线程爬取段子_Python爬虫实例-多线程爬虫糗事百科搞笑内涵段子

    学习爬虫,其乐无穷! 今天给大家带来一个爬虫案例,爬取糗事百科搞笑内涵段子. 爬取糗事百科段⼦,假设⻚⾯的 URL 是:http://www.qiushibaike.com/8hr/page/1 一. ...

  6. Python爬取糗事百科段子+定时发送QQ邮箱

    文章目录 前言 1. 库导入及介绍 2. 获取网页源码 3. 提取需要的信息 4. 优化输出数据 5. 发送邮件 6. 实现定时发送 7. 源码 前言 学习Python爬虫也有段时间了,总想着搞点事做 ...

  7. Python爬取糗事百科段子

    Python爬取糗事百科段子 Python2.7.15 今天我们来爬取糗事百科的段子 一.获取糗事百科的网页源码 首先,打开浏览器,进入糗事百科,复制它的网址. 然后我们翻个页,可以看到,网址变成了这 ...

  8. python 爬取糗事百科的段子

    本篇目标 1.抓取糗事百科热门段子 2.过滤带有图片的段子 3.实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数. 糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有 ...

  9. 用Python爬取糗事百科段子,可视化后结果发现

    大家好,我是小五???? 生活真是太苦了,需要找点快乐的精神食粮支撑社畜生活,听说糗事百科段子挺多,今天就来看一看! 糗事百科的段子栏目声称:幽默笑话大全__爆笑笑话__笑破你的肚子的搞笑段子,我们用 ...

最新文章

  1. 自动驾驶仿真分析,提高研发效率
  2. 收藏 | GPU多卡并行训练总结
  3. CISSP备考系列之行政性管理[10-37]
  4. Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
  5. G代码运行模拟软件-NC Viewer
  6. 我为什么还要造轮子?欠踹?Monk.UI表单美化插件诞生记!
  7. 使用flink Table Sql api来构建批量和流式应用(1)Table的基本概念
  8. MFC六大核心机制之三:动态创建
  9. 数据计算 统计学案例_PSG三维数据采集软件在土方量计算中的应用案例
  10. session和cookie的区别和联系详解,Cookie Session相关看这篇就够了。
  11. 改变了的Windows MediaPlayer9.0SDK控制集
  12. UML (统一建模语言) 各种图总结
  13. 凸优化 - 3 - Jensen不等式、共轭函数、Fenchel不等式
  14. 使用matplotlib画对数函数图像
  15. 无法创建视频捕捉过滤器的解决办法
  16. python 实现重启路由器
  17. 高阶篇:4.1.1)QFDI(客户需求转换为设计要求)
  18. Win10开机任务栏卡死
  19. 荣耀8c鸿蒙,【荣耀畅玩8C评测】千元标配4GB大内存 荣耀8C给你越级体验-中关村在线...
  20. OpenStreetMap开放街道图(OSM)

热门文章

  1. 论文笔记之:Multiple Feature Fusion via Weighted Entropy for Visual Tracking
  2. Mysql学习进度(2013.03.12)—sql语句学习一
  3. 燃烧青春和诗意的IT人生
  4. 通过FxCop来验证.NET编码规范
  5. LeetCode OJ -- Binary Tree Paths
  6. Matlab中Ksdensity()函数的用途 (2011-04-02 16:55:17)
  7. python文件的读取和写入
  8. Java实现算法导论中最近点对问题分治法
  9. 点击切换div 的隐藏与显示
  10. Service Cloud: Quick Look