# Tieba-Birthday-Spider
百度贴吧生日爬虫,可抓取贴吧内吧友生日,并且在对应日期自动发送祝福
# 更新日志
- Version 0.1.0 (2017-06-13 16:00:30) 首次提交代码
# 执行环境
Python 2.7 64bit + MongoDB (请确保环境为64位,防止爬虫中的queue容量过大导致在32位环境下内存不足的异常发生)
# 项目依赖包
- pymongo
- BeautifulSoup
- requests
# 使用方法
1. 使用pip或者其他方式正确安装好上述项目依赖包
2. 启动MongoDB
3. 配置config.py中各项参数
4. 启动spider.py进行生日等数据抓取
5. 运行post.py测试是否能正常发送生日祝福贴
5. 配置cron规则,让post.py能够每天定时运行,并且保证MongoDB服务一直保持开启状态
# 文件说明
| 文件名称 | 文件说明 | 备注 |
| -------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| config.py | 配置信息 | <strong>内部附有注释,请正确配置。</strong> 如果有任何问题或者认为注释有描述不清需要改进的地方欢迎提issue与我讨论。为了防止频繁发帖导致您的百度帐号被误判为SPAM而封号,请尽可能注册几个小号,并且升级到合适的等级以防出现验证码。后期我们会考虑增加接入打码平台。 |
| spider.py | 爬虫主文件 | 在config.py中正确配置好相关参数后,<strong>先启动MongoDB服务,然后可直接执行该文件</strong> ,抓取的信息将直接存储在MongoDB中。 |
| post.py | 定时发帖主文件 | 执行该文件将会自动按照配置文件中设置好的参数,将会将指定贴吧内所有过生日的吧友信息提取出来,并且向指定帖子中发送生日祝福。<strong>如果需要定时发送,请将该文件加入cron规则,crontab规则:<code>0 0 0 * *</code>表示在每日0点0分0秒自动执行该脚本。并且保证MongoDB服务一直保持开启状态。</strong> 如果需要自定义祝福帖内容模版,请参照main函数中的buildContent函数调用点以及相关注释自行修改post.py下的buildContent函数。 |
| TiebaSpider.py | 部分贴吧信息抓取方法 | 默认使用内置的<code>html_parser</code>作为<code>BeautifulSoup</code>的<code>html_parser</code>,用户可以自行修改TiebaSpider类的属性成员<code>html_parser</code>来使用其他<code>html_parser</code>,比如说<code>html5lib</code>。该类使用requests模块进行http通信。 |
| TiebaUtil.py | 部分贴吧发帖回帖以及登录检测模块 | 该类使用urllib2模块进行http通信。 |
| SpiderUtil.py | 爬虫助手函数 | 用于整理抓取到的信息,或者获取一些特殊元数据。 |
<!--- config.py 配置信息。**内部附有注释,请正确配置。** 如果有任何问题或者认为注释有描述不清需要改进的地方欢迎提issue与我讨论。-->
<!--- spider.py:爬虫主文件,在config.py中正确配置好相关参数后,**先启动MongoDB服务,然后可直接执行该文件** ,抓取的信息将直接存储在MongoDB中。-->
<!--- post.py:定时发帖主文件。执行该文件将会自动按照配置文件中设置好的参数,将会将指定贴吧内所有过生日的吧友信息提取出来,并且向指定帖子中发送生日祝福。**如果需要定时发送,请将该文件加入cron规则,crontab规则:`0 0 0 * *`表示在每日0点0分0秒自动执行该脚本。并且保证MongoDB服务一直保持开启状态。** 如果需要自定义祝福帖内容模版,请参照main函数中的buildContent函数调用点以及相关注释自行修改post.py下的buildContent函数。-->
<!--- TiebaSpider.py:部分贴吧信息抓取方法。默认使用内置的`html_parser`作为`BeautifulSoup`的`html_parser`,用户可以自行修改TiebaSpider类的属性成员`html_parser`来使用其他`html_parser`,比如说`html5lib`等。该类使用requests第三方模块进行http通信。-->
<!--- TiebaUtil.py:部分贴吧发帖回帖以及登录检测模块。该类使用urllib2模块进行http通信。-->
<!--- SpiderUtil.py:爬虫助手函数,用于整理抓取到的信息,或者获取一些特殊元数据。-->
# 程序特点
- 使用threading多线程库+Queue队列,性能高效
- MongoDB持久化存储爬虫内容,适合抓取内容结构随时可变的场景
# 成功案例
- [BUG吧][1]
- [武汉船舶职业技术学院吧][2]
# 交流QQ群
- [点击加百度贴吧闲聊群1:255258140][3]
- [点击加编程开发交流群2:578165753][4]
![](http://wx3.sinaimg.cn/mw690/734c5972gy1fgjo49srxbj21hc0u07b3.jpg)
[1]: https://tieba.baidu.com/p/3999225388
[2]: https://tieba.baidu.com/p/4013743860
[3]: https://jq.qq.com/?_wv=1027&k=4AO35rV
[4]: https://jq.qq.com/?_wv=1027&k=4AO3qTM
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
收起资源包目录
百度贴吧生日爬虫,可抓取贴吧内吧友生日,并且在对应日期自动发送祝福.zip (9个子文件)
SJT-code
TiebaSpider.py 3KB
post.py 3KB
LICENSE 11KB
TiebaUtil.py 6KB
SpiderUtil.py 2KB
.gitignore 1KB
spider.py 5KB
README.md 7KB
config.py 3KB
共 9 条
- 1
资源评论
JJJ69
- 粉丝: 6214
- 资源: 5783
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20240429_112025.m4a
- 91fdd461elb59a4ce8dfcfc46bc283a7.msi
- Image_1715565894150.jpg
- 计算机网络.docx
- Oracle Instant Client for Linux x86-64 (64-bit) Version 11.1.0.7
- dataExpr.tom-block.1.RData
- 实战验证过的最新远程Tomcat调试方式(基于IDEA2023/2024, JDK1.8, TOMCAT9, WIN10的)
- 200SMART与V20变频器RTU通讯.smart
- 天使插件4.019版-成品
- weinxin小程序仿ofo共享单车
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功