Python3抓取糗百、不得姐

简介: 重要提示1:本文所列程序均基于Python3.6,低于Python3.6的Python版本可能无法运行. 重要提示2:因所抓取的网站可能随时更改展示内容,因此程序也需及时跟进. 重要提示3:本程序仅供学习,不能拿去做坏事.

​点击关注 异步图书,置顶公众号

每天与你分享 IT好书 技术干货 职场知识


重要提示1:本文所列程序均基于Python3.6,低于Python3.6的Python版本可能无法运行.
重要提示2:因所抓取的网站可能随时更改展示内容,因此程序也需及时跟进.
重要提示3:本程序仅供学习,不能拿去做坏事.​

起步

1.安装Python 3.6;
2.安装以下库:

主要思路

整个程序,按照下面的步骤:

1.获取要爬取页面的URL地址(可以是分页地址,可以在程序里面模拟分页);
2.通过requests(一个封装了urllib3的网络库,简化了很多网络请求的东西)下载上面URL地址的内容到内存(以前的方式是保存临时文件);
3.用BeautifulSoup(一个解析HTML的库)来读取第二步中保存在内存中的内容,并解析出我们要的主要内容部分;
4.保存到数据库或展示(特别说明:本示例程序不包含数据库部分),程序最终会输出多条json数据(已经包含了来源网站(自己定义的),创建时间等)

上述部分体现在代码中,就是如下:

首先在Main.py中,定义:

​用来格式化不得姐获取到的数据,下面还要定义一个Qsyk来处理来自糗事百科的数据:

代码中还有一个Kanqu.com的抓取处理,这里就不罗列了,这几个唯一的区别就是:调用common.formatContent时,传递的第二个参数不一样,第二个参数为要抓取的内容(HTML)的class.

CommonGrab中依赖了UserUtils.py中的代码.

下面是CommonGrab的定义,在CommonGrab中主要做了两件事:

  1. 抓取网页内容,保存到内存;
  2. 解析HTML内容(使用BeautifulSoup)
  3. 将数据新增到数据库中.(不新增数据库到数据库中.)

代码如下:

之后就是把上述的几部分组合起来.

运行

运行部分的代码如下,主要就是调用了上述几部分的代码:

源码下载

CSDN:
https://download.csdn.net/download/dcxy0/9835268
Coding.net:
https://coding.net/u/pruidong/p/Python3GetQsbkBdj/git

文件:

main.py: 运行
UserUtils.py:工具​


本文来源于异步社区,作者:dcxy,作品《Python3抓取糗百、不得姐》,未经授权,禁止转载。

推荐阅读

2018年5月新书书单(文末福利)

2018年4月新书书单

异步图书最全Python书单

一份程序员必备的算法书单

第一本Python神经网络编程图书

​长按二维码,可以关注我们哟

每天与你分享IT好文。


在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步e读版图书一本。赶紧来参加哦!

点击阅读原文,查看更多

阅读原文

相关文章
|
3月前
|
Python
"揭秘!Python如何运用神秘的正则表达式,轻松穿梭于网页迷宫,一键抓取隐藏链接?"
【8月更文挑战第21天】Python凭借其强大的编程能力,在数据抓取和网页解析领域表现出高效与灵活。通过结合requests库进行网页请求及正则表达式进行复杂文本模式匹配,可轻松提取网页信息。本示例展示如何使用Python和正则表达式解析网页链接。首先确保已安装requests库,可通过`pip install requests`安装。接着,利用requests获取网页内容,并使用正则表达式提取所有`<a>`标签的`href`属性。
42 0
|
15天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
12天前
|
数据采集 Python
python爬虫抓取91处理网
本人是个爬虫小萌新,看了网上教程学着做爬虫爬取91处理网www.91chuli.com,如果有什么问题请大佬们反馈,谢谢。
23 4
|
13天前
|
数据采集 Java Python
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
在信息化时代,实时数据的获取对体育赛事爱好者、数据分析师和投注行业至关重要。本文介绍了如何使用Python的`ThreadPoolExecutor`结合代理IP和请求头设置,高效稳定地抓取五大足球联赛的实时比赛信息。通过多线程并发处理,解决了抓取效率低、请求限制等问题,提供了详细的代码示例和解析方法。
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
|
2月前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
|
3月前
|
数据采集 Python
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
本文介绍了使用Python Selenium和WebDriver库抓取LinkedIn数据的方法。首先,安装Selenium库和对应的WebDriver,然后配置爬虫代理IP以避免频繁请求被检测。接下来,设置user-agent和cookies以模拟真实用户行为,实现登录并保持状态。登录后,使用WebDriver抓取目标页面数据,如用户名、年龄、性别和简历信息。最后,强调了优化代码、处理异常和遵守使用条款的重要性,以提高效率并避免账号被封禁。
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
|
2月前
|
数据采集 JavaScript 前端开发
构建简易Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字信息的时代,数据抓取成为获取网络资源的重要手段。本文将引导你通过Python编写一个简单的网页爬虫,从零基础到实现数据抓取的全过程。我们将一起探索如何利用Python的requests库进行网络请求,使用BeautifulSoup库解析HTML文档,并最终提取出有价值的数据。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开数据抓取的大门。
|
3月前
|
Python
【python】python抓取古诗文内容保存(源码)【独一无二】
【python】python抓取古诗文内容保存(源码)【独一无二】
|
3月前
|
数据采集 JavaScript 前端开发
构建你的第一个Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字时代,数据是新的石油。本文将引导初学者通过简单的步骤,使用Python编程语言创建一个基础的网络爬虫程序。我们将探索如何从网络上提取信息,并理解背后的原理。无论你是编程新手还是想要扩展你的技术工具箱,这篇文章都将为你提供一条清晰的道路,让你学会编写能够自动获取网络数据的脚本。准备好开始你的网络数据抓取之旅了吗?让我们现在就开始吧!
|
3月前
|
数据采集 JavaScript 前端开发
Python 爬虫实战:抓取和解析网页数据
【8月更文挑战第31天】本文将引导你通过Python编写一个简单的网络爬虫,从网页中抓取并解析数据。我们将使用requests库获取网页内容,然后利用BeautifulSoup进行解析。通过本教程,你不仅能够学习到如何自动化地从网站收集信息,还能理解数据处理的基本概念。无论你是编程新手还是希望扩展你的技术工具箱,这篇文章都将为你提供有价值的见解。