examples-of-web-crawlers

examples-of-web-crawlers

Python爬虫实战案例集,从基础到高级的学习资源

该项目汇集了多个Python爬虫实例,内容涵盖网页抓取、数据分析等领域。实例包括淘宝模拟登录、天猫商品数据爬取、微信自动消息发送和高清壁纸下载等。代码结构清晰,注释详尽,适合爬虫学习者参考。项目还介绍了多线程爬虫和代理池等进阶技术,为Python爬虫技能提升提供了实践途径。

自动化项目实例Github开源项目Python爬虫网络爬虫数据采集

<p align="center">一些非常有趣的Python爬虫示例,对新手比较友好</p>

<p align="center"> <a href="https://github.com/shengqiangzhang/examples-of-web-crawlers"><img src="https://yellow-cdn.veclightyear.com/835a84d5/6fbb8229-9fc5-4cb5-b9cd-54580da23e2b.svg"></a> <a href="https://github.com/python/cpython"><img src="https://yellow-cdn.veclightyear.com/835a84d5/0fd855ba-8877-4640-99b0-ba182012940c.svg"></a> <a href="https://opensource.org/licenses/mit-license.php"><img src="https://badges.frapsoft.com/os/mit/mit.svg"></a> <a href="https://github.com/shengqiangzhang/examples-of-web-crawlers/graphs/contributors"><img src="https://img.shields.io/github/contributors/shengqiangzhang/examples-of-web-crawlers?color=blue"></a> <a href="https://github.com/shengqiangzhang/examples-of-web-crawlers/stargazers"><img src="https://yellow-cdn.veclightyear.com/835a84d5/628a3797-560e-440f-a709-c53c2db82c92.svg?logo=github"></a> <a href="https://github.com/shengqiangzhang/examples-of-web-crawlers/network/members"><img src="https://yellow-cdn.veclightyear.com/835a84d5/e4667097-bff5-401e-a759-64aa3c8f463d.svg?color=blue&logo=github"></a> <a href="https://www.python.org/"><img src="https://yellow-cdn.veclightyear.com/835a84d5/85229022-0cd1-42fa-a5a1-4be0ce14605b.svg" align="right" height="48" width="48" ></a> </p> <br />

项目简介

一些常见的网站爬虫示例,代码通用性较高,时效性较长。项目代码对新手比较友好,尽量使用简单的Python代码,并配有大量注释。

<br /> <br />

如何下载

没有或不懂如何设置代理的chinese_flag中国用户,可跳转至镜像仓库码云Gitee进行下载,以获得较快的下载速度。

<br /> <br />

[1.淘宝模拟登录][taobao_login]

使用教程

  1. 点击这里下载Chrome浏览器
  2. 查看Chrome浏览器的版本号,点击这里下载对应版本号的ChromeDriver驱动
  3. 使用pip安装以下包
    • pip install selenium
  4. 点击这里登录微博,并通过微博绑定淘宝账号密码
  5. 在main中填写ChromeDriver的绝对路径
  6. 在main中填写微博账号密码
#改成你的ChromeDriver的完整路径地址 chromedriver_path = "/Users/bird/Desktop/chromedriver.exe" #改成你的微博账号 weibo_username = "改成你的微博账号" #改成你的微博密码 weibo_password = "改成你的微博密码"

演示图片

<br /> <br />

[2.天猫商品数据爬虫][tmall_crawler]

使用教程

  1. 点击这里下载Chrome浏览器
  2. 查看Chrome浏览器的版本号,点击这里下载对应版本号的ChromeDriver驱动
  3. 使用pip安装以下包
    • pip install selenium
    • pip install pyquery
  4. 点击这里登录微博,并通过微博绑定淘宝账号密码
  5. 在main中填写ChromeDriver的绝对路径
  6. 在main中填写微博账号密码
#改成你的ChromeDriver的完整路径地址 chromedriver_path = "/Users/bird/Desktop/chromedriver.exe" #改成你的微博账号 weibo_username = "改成你的微博账号" #改成你的微博密码 weibo_password = "改成你的微博密码"

演示图片

<br /> <br />

[3.爬取淘宝我已购买的宝贝数据][taobao_buy_crawler]

使用教程

  1. 点击这里下载Chrome浏览器
  2. 查看Chrome浏览器的版本号,点击这里下载对应版本号的ChromeDriver驱动
  3. 使用pip安装以下包
    • pip install selenium
    • pip install pyquery
  4. 点击这里登录微博,并通过微博绑定淘宝账号密码
  5. 在main中填写ChromeDriver的绝对路径
  6. 在main中填写微博账号密码
#改成你的ChromeDriver的完整路径地址 chromedriver_path = "/Users/bird/Desktop/chromedriver.exe" #改成你的微博账号 weibo_username = "改成你的微博账号" #改成你的微博密码 weibo_password = "改成你的微博密码"

演示图片

<br /> <br />

[4.每天不同时间段通过微信发消息提醒女友][say_to_lady]

简介

有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她。你暗自下决心,下次一定要准时发消息给她,哪怕是几句话,可是你又忘记了。你觉得自己很委屈😭,但是她又觉得你不负责。

<br /> **不用再担心了**,现在可以用Python给女朋友定时发送提醒消息了,**不会错过任何重要时刻**。每天**早上起床、中午吃饭、晚上吃饭、晚上睡觉**时都会准时发消息给她,还可以让她**学习英语单词**哦! <br /> 在生日来临时,会自动发送祝福语。在节日来临时,比如**三八妇女节、女神节、情人节、春节、圣诞节**,会自动发送问候语,再也不用担心她说你没有仪式感了😀 <br />

最重要的是,还可以实时了解女朋友的情感情绪指数,再也不用担心女朋友莫名其妙生气了。

使用教程

  1. 用pip安装以下包
  • pip install wxpy
  • pip install requests
  1. 设置以下内容
  • 设置config.ini相关信息

演示图片

<img src="https://yellow-cdn.veclightyear.com/835a84d5/f50b3964-f271-4321-a35a-4bdae57e9751.png" width = "310" alt="example1" /><img src="https://yellow-cdn.veclightyear.com/835a84d5/4fcf18ce-50f3-40be-aa26-6f2253871908.png" width = "310" alt="example2" />

<img src="https://yellow-cdn.veclightyear.com/835a84d5/2ef52612-4330-46be-b72b-4470bc5d3bc3.png" width = "620" alt="example3"/> <br /> <br />

[5.爬取5K分辨率超清唯美壁纸][crawler_5K_wallpaper]

简介

壁纸的选择在很大程度上能反映电脑主人的内心世界,有人喜欢风景,有人喜欢星空,有人喜欢美女,有人喜欢动物。然而,总有一天你会对现有的壁纸产生审美疲劳,当你决定要换壁纸时,又发现网上的壁纸要么分辨率低,要么带有水印。

<br />

这里有一款Mac下的小清新壁纸神器Pap.er,可能是Mac下最好的壁纸软件,自带5K超清分辨率壁纸,拥有多种类型的壁纸。当我们想在Windows或者Linux下使用时,就可以考虑将5K超清分辨率壁纸爬取下来。

功能截图

如何运行

# 跳转到当前目录 cd 目录名 # 先卸载依赖库 pip uninstall -y -r requirement.txt # 再重新安装依赖库 pip install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 开始运行 python main.py
<br /> <br />

[6.爬取豆瓣排行榜电影数据(含GUI界面版)][getMovieInRankingList]

项目简介

这个项目源于大三某课程设计。平时经常需要搜索一些电影,但不知道哪些评分高且评价人数多的电影。为了方便使用,就将原来的项目重新改写了。这可以看作是对爬虫技术和可视化技术的实践。主要是通过从排行榜和从影片关键词两种方式爬取电影数据。

功能截图

如何运行

  1. 打开Chrome浏览器,在网址栏输入chrome://version/查询当前Chrome版本
  2. 打开http://chromedriver.storage.googleapis.com/index.html,下载对应版本的chromedriver驱动,下载完成后务必解压
  3. 打开当前目录下的文件getMovieInRankingList.py,定位到第107行,将executable_path=./chromedriver.exe修改为你的chromedriver驱动路径
  4. 执行命令pip install -r requirement.txt安装程序所需的依赖包
  5. 执行命令python main.py运行程序

包含功能

  • 根据关键字搜索电影
  • 根据排行榜(TOP250)搜索电影
  • 显示IMDB评分及其他基本信息
  • 提供多个在线视频站点,无需vip
  • 提供多个云盘站点搜索该视频,以便保存到云盘
  • 提供多个站点下载该视频
  • 等待更新
<br /> <br />

[7.多线程+代理池爬取天天基金网、股票数据(无需使用爬虫框架)][fund_data]

简介

提到爬虫,大多数人都会想到使用Scrapy工具,但往往只停留在会使用的阶段。为了增加对爬虫机制的理解,我们可以手动实现多线程的爬虫过程,同时引入IP代理池进行基本的反爬操作。

本次我们选择天天基金网进行爬虫实践,该网站具有反爬机制,同时数据量足够大,多线程效果较为明显。

技术路线

  • IP代理池
  • 多线程
  • 爬虫与反爬

数据格式

000056,建信消费升级混合,2019-03-26,1.7740,1.7914,0.98,2019-03-27 15:00

000031,华夏复兴混合,2019-03-26,1.5650,1.5709,0.38,2019-03-27 15:00

000048,华夏双债增强债券C,2019-03-26,1.2230,1.2236,0.05,2019-03-27 15:00 000008,嘉实中证500ETF联接A,2019-03-26,1.4417,1.4552,0.93,2019-03-27 15:00

000024,大摩双利增强债券A,2019-03-26,1.1670,1.1674,0.04,2019-03-27 15:00

000054,鹏华双债增利债券,2019-03-26,1.1697,1.1693,-0.03,2019-03-27 15:00

000016,华夏纯债债券C,2019-03-26,1.1790,1.1793,0.03,2019-03-27 15:00

功能截图

配置说明

# 请确保安装以下库,如果未安装,请在python3环境下执行pip install 模块名 import requests import random import re import queue import threading import csv import json
<br /> <br />

[8.一键生成微信个人专属数据报告(了解你的微信社交历史)]

简介

你是否想过生成一份属于你的微信个人数据报告,了解你的微信社交历史。现在,我们基于python对微信好友进行全方位数据分析,包括:昵称、性别、年龄、地区、备注名、个性签名、头像、群聊、公众号等。

其中,在分析好友类型方面,主要统计出你的陌生人、星标好友、不让他看我的朋友圈的好友、不看他的朋友圈的好友数据。在分析地区方面,主要统计所有好友在全国的分布以及对好友数最多的省份进行进一步分析。在其他方面,统计出你的好友性别比例、猜出你最亲密的好友,分析你的特殊好友,找出与你所在共同群聊数最多的好友数据,对你的好友个性签名进行分析,对你的好友头像进行分析,并进一步检测出使用真人头像的好友数据。

目前网上关于这方面的数据分析文章比较多,但是运行起来比较麻烦,而本程序的运行十分简单,只需要扫码登录一步操作即可。

功能截图

如何运行

# 跳转到当前目录 cd 目录名 # 先卸载依赖库 pip uninstall -y -r requirement.txt # 再重新安装依赖库 pip install -r requirement.txt # 开始运行 python generate_wx_data.py

如何打包成二进制可执行文件

# 安装pyinstaller pip install pyinstaller # 跳转到当前目录 cd 目录名 # 先卸载依赖库 pip uninstall -y -r requirement.txt # 再重新安装依赖库 pip install -r requirement.txt # 更新 setuptools pip install --upgrade setuptools # 开始打包 pyinstaller generate_wx_data.py

[9.一键生成QQ个人历史报告]

简介

近几年,由于微信的流行,大部分人不再频繁使用QQ,所以我们对于自己的QQ数据并不是特别了解。我相信,如果能够生成一份属于自己的QQ历史报告,那将是无比开心的一件事。

目前网上关于QQ的数据分析工具较少,原因是QQ相关接口比较复杂。而本程序的运行十分简单,具有良好的用户交互界面,只需要扫码登录一步操作即可。

目前本程序获取的数据包括:QQ详细数据、手机在线时间、非隐身状态下在线时间、QQ活跃时间、单向好友数量、QQ财产分析、群聊分析、过去一年我退出的群聊数据、退去一个月我删除的好友数据、所有代付信息、我最在意的人以及最在意我的人。由于相关的数据接口有访问限制,所以本程序并没有对QQ好友进行分析。

功能截图

如何运行

# 跳转到当前目录 cd 目录名 # 先卸载依赖库 pip uninstall -y -r requirement.txt # 再重新安装依赖库 pip install -r requirement.txt # 开始运行 python main.py
<br /> <br />

[10.一键生成个人微信朋友圈数据电子书]

简介

WeChat Moments preserves your data, storing beautiful memories and recording our growth bit by bit. Posting to Moments is in a sense documenting life, experiencing life, and seeing everyone's growth step by step.

Why not save such a precious set of memories? In just the time it takes to drink a cup of coffee, you can print out your Moments with one click. It can be a physical book or an e-book, stored long-term, better than printing photos, and comes with a timeline of memories.

This book can be used as:

  • A birthday gift for your child
  • A birthday gift for your partner
  • A gift for your future self
  • ...

Now, you can choose to print an e-book or physical book. For a physical book, you can pay a third-party service to print it. For an e-book, we can generate it ourselves, which can save a significant expense.

Screenshots

Before we get into the code, let's take a look at the final result.

E-book effect (images from Chushu.la) [图片] [图片]

Physical book effect (images from Xinshu) [图片]

How to run:

# Go to the current directory cd directory_name # First uninstall dependencies pip uninstall -y -r requirement.txt # Then reinstall dependencies pip install -r requirement.txt # Start running python main.py

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多