Python从入门到网络爬虫(23个Python开源项目)

news2024/12/26 9:18:20

前言

随着互联网的快速发展,大量的信息被不断地产生和积累,这也使得网络爬虫变得越来越重要。而Python作为一门高效、易用的编程语言,被广泛地应用于网络爬虫领域。本文将从多个角度分析Python开源爬虫项目的优缺点、应用场景以及未来发展方向。

下面给大家介绍23个GitHub上优秀的Python开源爬虫项目

1. WechatSogou – 微信公众号爬虫

基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。

github地址:

https://github.com/Chyroc/Wec...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=KLyVF18vEtDAn6fxSOU9HA%3D%3D.3kTXjklDtzaGPhcTOR77bzm3BPcMwRaLd%2Bb1KacFpH%2BYQxzTcMOrmMvelX7FUyHN

2. DouBanSpider – 豆瓣读书爬虫

可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1000的高分书籍;可依据不同的主题存储到Excel不同的Sheet ,采用User Agent伪装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封。

github地址:

https://github.com/lanbing510...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=2MtMvmYy4rlTKjZl53RIqg%3D%3D.fUtWKiFupK%2Fg7W1N3uMf4MsmXyM2ojjb7cZcr25KGycUq2yjPpcBsMy8%2FCYINICN

3. zhihu_spider – 知乎爬虫

此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo

github地址:

https://github.com/LiuRoy/zhi...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=e%2BR75PlOTElc2lSLzbT21g%3D%3D.G2dWwnoq20Ng2v7zSwJl9XSDGVEWEQl7A3d4%2FTDe3HbW%2FGr%2FcQl4yj0TBtcMjeXt

4. bilibili-user – Bilibili用户爬虫

总数据数:20119918,抓取字段:用户id,昵称,性别,头像,等级,经验值,粉丝数,生日,地址,注册时间,签名,等级与经验值等。抓取之后生成B站用户数据报告。

github地址:

https://github.com/airingursb...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=E1%2BNm80uTkXGMSui6QgwVA%3D%3D.uIlMaiXKBdilTbT3yvTaGKRxGBtEklY9tucPS4YUqtaTQtElwE8WTi4fyNoTIGEB

5. SinaSpider – 新浪微博爬虫

主要爬取新浪微博用户的个人信息、微博信息、粉丝和关注。代码获取新浪微博Cookie进行登录,可通过多账号登录来防止新浪的反扒。主要使用 scrapy 爬虫框架。

github地址:

https://github.com/LiuXingMin...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=DIEhVbXZwyFmiphtlPyBYQ%3D%3D.mzYvOxlt7sxUnZscua3QioDLQO1CV5O5W04WXNPrbD6otsX1TImlXM2o17IMSUMh

6. distribute_crawler – 小说下载分布式爬虫

使用scrapy,Redis, MongoDB,graphite实现的一个分布式网络爬虫,底层存储MongoDB集群,分布式使用Redis实现,爬虫状态显示使用graphite实现,主要针对一个小说站点。

github地址:

https://github.com/gnemoug/di...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=BQDFpgjSNdIwExhWXHTWGg%3D%3D.t%2BeSF5YxKClrXxr9Xia5qyJjGRCQBEcyWS4%2BNkDpgissHrtsoN%2FPrUS5SjSXx92B

7. CnkiSpider – 中国知网爬虫。

设置检索条件后,执行src/CnkiSpider.py抓取数据,抓取数据存储在/data目录下,每个数据文件的第一行为字段名称。

github地址:

https://github.com/yanzhou/Cn...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=vhpzc6XBMcnagMvq99F0tw%3D%3D.s7KCmnlPPj3sEtW2%2FCt9pq%2FEvYKsL65%2F5diTPZ1D6fpSA4Dsl5OQ4r9mByOf%2Fh54

8. LianJiaSpider – 链家网爬虫。

爬取北京地区链家历年二手房成交记录。涵盖链家爬虫一文的全部代码,包括链家模拟登录代码。

github地址:

https://github.com/lanbing510...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=m1jp2iU8dcgEocx%2BDIIlww%3D%3D.5%2Fas1ZDgyXTga0m8mYyNLSL7ZcGdzFImP753ElglzJu9WxkBeKVbfxeNkhGeubmT

9. scrapy_jingdong – 京东爬虫。

基于scrapy的京东网站爬虫,保存格式为csv。

github地址:

https://github.com/taizilongx...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=DtrWggyWf3NiYFoQiL9Jdw%3D%3D.tUs2ybx9axFEXwkuxtM%2BFtyfjeZzHhoDdnyiO05j2Z6tgiTUvyBGF5oNyyNi%2Bg90

10. QQ-Groups-Spider – QQ 群爬虫。

批量抓取 QQ 群信息,包括群名称、群号、群人数、群主、群简介等内容,最终生成 XLS(X) / CSV 结果文件。

github地址:

https://github.com/caspartse/...icon-default.png?t=N7T8https://link.segmentfault.com/?enc=5YOR4sg5fLK%2BRh%2B9n0%2FAtw%3D%3D.eYcC8RKtwhUusnE7tPXcqA0MuY%2F0FaEH%2BeGXLygVD5vSelH7J58q%2BKnQfAUs439R

11. wooyun_public - 乌云爬虫。

乌云公开漏洞、知识库爬虫和搜索。全部公开漏洞的列表和每个漏洞的文本内容存在MongoDB中,大概约2G内容;如果整站爬全部文本和图片作为离线查询,大概需要10G空间、2小时(10M电信带宽);爬取全部知识库,总共约500M空间。漏洞搜索使用了Flask作为web server,bootstrap作为前端。

https://github.com/hanc00l/wo...

12. spider – hao123网站爬虫。

以hao123为入口页面,滚动爬取外链,收集网址,并记录网址上的内链和外链数目,记录title等信息,windows7 32位上测试,目前每24个小时,可收集数据为10万左右

https://github.com/simapple/s...

13. findtrip – 机票爬虫(去哪儿和携程网)。

Findtrip是一个基于Scrapy的机票爬虫,目前整合了国内两大机票网站(去哪儿 + 携程)。

https://github.com/fankcoder/...

14. 163spider

基于requests、MySQLdb、torndb的网易客户端内容爬虫

https://github.com/leyle/163s...

15. doubanspiders

豆瓣电影、书籍、小组、相册、东西等爬虫集

https://github.com/fanpei91/d...

16. QQSpider

QQ空间爬虫,包括日志、说说、个人信息等,一天可抓取 400 万条数据。

https://github.com/LiuXingMin...

17. baidu-music-spider

百度mp3全站爬虫,使用redis支持断点续传。

https://github.com/Shu-Ji/bai...

18. tbcrawler

淘宝和天猫的爬虫,可以根据搜索关键词,物品id来抓去页面的信息,数据存储在mongodb。

https://github.com/pakoo/tbcr...

19. stockholm

一个股票数据(沪深)爬虫和选股策略测试框架。根据选定的日期范围抓取所有沪深两市股票的行情数据。支持使用表达式定义选股策略。支持多线程处理。保存数据到JSON文件、CSV文件。

https://github.com/benitoro/s...

20. BaiduyunSpider - 百度云盘爬虫。

https://github.com/k1995/Baid...

21. Spider

社交数据爬虫。支持微博,知乎,豆瓣。

https://github.com/Qutan/Spider

22. proxy pool

Python爬虫代理IP池(proxy pool)。

https://github.com/jhao104/pr...

23. music-163

爬取网易云音乐所有歌曲的评论。

https://github.com/RitterHou/...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1372508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)

文章目录 前言一、Hugging face是什么?二、huggingface镜像站hf-mirror.com三、大模型一键下载1. 准备工作2. 下载代码 总结后记 前言 要玩AI大模型,Hugging face 不可错过,但资源虽不错,可奈何国内下载速度很慢,动则…

Java中CompletableFuture 异步编排的基本使用

一、前言 在复杂业务场景中,有些数据需要远程调用,导致查询时间缓慢,影响以下代码逻辑运行,并且这些浪费时间的逻辑与以后的请求并没有关系,这样会大大增加服务的时间。 假如商品详情页的每个查询,需要如下…

基于sprinmgboot实习管理系统源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,实习管理也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而实习管理…

老铁,请收藏!IT人必备13个在线工具

本文根据很多很多大牛程序员分享,还请教了身边的资深职场人,给大家总结了一份大咖推荐的超实用网站合集,包含工具类和提效类,赶上要做年终汇报和来年计划的档口,80%你都用得上! 先收藏,有需要随…

“第四个中国人民警察节”细语

今(2024年1月10日)天,是第四个中国人民警察节,本“人民体验官”推广人民日报官方微博文化产品《一起致敬人民警察!》。 图:来源“人民体验官”推广平台 笔者认同“平安的密码叫110”这个洽当比喻。因为人民…

Android App打包加固后的APK无法安装问题

最近开发的一个应用要上架,正常流程打完包后去加固,由于以前一直用的是360的加固助手,这里开始也是选择用它。 使用360加固: 问题一、开始出现的问题是说应用未签名无法加固,我明明是签名后打的包,怎么会…

世邦 IP网络对讲广播系统 getjson.php接口存在任意文件读取漏洞

产品简介 SPON世邦IP网络对讲广播系统是一种先进的通信解决方案,旨在提供高效的网络对讲和广播功能。 漏洞概述 SPON世邦IP网络对讲广播系统getjson.php接口处存在任意文件读取漏洞,未经身份验证的攻击者可利用此漏洞读取敏感文件。 指纹识别 fofa:…

ROS2——发布和订阅

现在我们以主题 int_topic 和发布者 publisher_node 和订阅者 subscriber_node 为例子进行展开。 头文件 在调用各种消息类型时,需要先引用头文件,才能成功声明某一个消息类型的变量。 我们在写头文件时,需要将该类成员的大写字母转换成小写…

文献阅读1

A Hierarchical Representation Network for Accurate and Detailed Face Reconstruction from In-The-Wild Images 会议/期刊:CVPR 2023;阿里达摩院;Biwen Lei 概述:这是一篇单张图片三维人脸重建的论文,这篇论文的…

LeetCode-棒球比赛(682)

题目描述: 你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第…

STM32 使用 DS18B20 温度传感器实现环境温度监测

为了实现环境温度监测系统,我们可以利用STM32微控制器和DS18B20数字温度传感器。在本文中,我们将介绍如何通过STM32微控制器读取DS18B20传感器的温度数据,并展示一个简单的示例代码。 1. 系统概述 环境温度监测系统旨在使用DS18B20数字温度…

ssm基于Web的汽车客运订票系统的设计与实现论文

毕业设计(论文) 汽车客运订票系统 姓 名 ______________________ 学 号 ______________________ 班 级 ______________________ 专 业 ______________________ 院 部 ______________________ 指导教师 ______________________ 年 月 日 目 录 目 录 …

数据库管理-第130期 JSON二元性(20240109)

数据库管理130期 2024-01-09 第130期 JSON二元性(20240109)1 简介2 关系型表和JSON存储的优劣3 Oracle JSON关系型二元性视图总结 第130期 JSON二元性(20240109) 上周,又双叒飞了一趟上海,也是2024年第一飞…

10个最容易被忽视的 FastAPI 实用功能

FastAPI是一种现代、高性能的Python Web框架,用于构建Web应用程序和API。 它基于Python的异步编程库asyncio和await语法,以及类型注解和自动文档生成等特性,提供了快速、易用和可靠的开发体验,接下来本文将介绍10项被忽视的FastA…

设计模式篇章(3)——七种结构型模式

结构型设计模式主要思考的是如何将对象进行合理的布局来组成一个更大的功能体或者结构体,这个现在讲有点抽象,用大白话讲就是利用现有的对象进行组合或者配合,使得组合后的这个系统更加好。好是相对于不使用设计模式,按照自己的堆…

分布式全局id

分布式全局id snowflake 算法是 twitter 开源的分布式 id 生成算法,采用 Scala 语言实现,是把一个 64 位的 long 型的 id,1 个 bit 是不用的,用其中的 41 bits 作为毫秒数,用 10 bits 作为工作机器 id,12 …

Linux权限2

相关命令 chown [用户名] [文件]​ 更改文件拥有者(加sudo强制更改) chown [拥有者]:[所属组] [文件] 更改文件拥有者和所属组(root权限下) chgrp [用户名] [文件] 更改文件所属组 文件类型 输入ls或ll显示的文件&#xff…

扒一扒Go语言中的“语法糖”

概 述 最近学习Golang语言的过程中,我发现Golang(后面简称Go)中的语法糖还蛮多的,有些语法糖还让会让人很懵逼。那么接下来,让我以一个曾经的 Java CURD boy,来说一说 Go 中的语法糖。 语法糖定义 语法糖…

谓词-量词、主析取、主和取范式、前束范式、推理证明

这部分内容,主要需要掌握谓词推理,而前提是掌握将自然语言符号化为谓词、用量词来限定辖域,量词的消去、剩下就是推理过程。还需要掌握的是主析取、主和取范式和前束范式。 存在量词∃:至少有一个 全称量词∀:全都是…

python爬取诗词名句网-三国演义,涉及知识点:xpath,requests,自动识别编码,range

页面源代码: <!DOCTYPE html> <html lang="zh"> <head><script src="https://img.shicimingju.com/newpage/js/all.js"></script><meta charset="UTF-8"><title>《三国演义》全集在线阅读_史书典籍_…