Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

muyimo/spider_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

90 Commits

Repository files navigation

spider_python

##概述 抓取北邮人论坛和水木社区校招信息的爬虫程序。

新增手机短信通知功能,需要在conf.py里配置139手机号,发件箱账号和密码。(短信通知功能也可作为邮件通知功能)。

不支持Python3。

##策略

###爬虫爬取 爬取模块默认每1小时运行1次,同时抓取web_urls和current_message_urls。每爬取10次清空所有数据。

###发送短信 发短信模块默认每10分钟扫描一次current_message_urls,不为空才会发短信。发送成功后会把current_message_urls合并到outdated_message_urls中,并清空current_message_urls。

###关键词筛选 在conf.py里根据自己的兴趣定制筛选的关键词,抓取你想要的信息:

  • WEB_FILTER_XXX_KEYS是针对Web页面抓取的关键词

  • MESSAGE_FILETER_XXX_KEYS是针对短信及邮件通知的关键词

包含XXX_FILETER_PRI_KEYS的链接一定会被抓取。

包含XXX_FILETER_KEYS且不包含XXX_FILETER_EXCLUDE_KEYS的链接也会被抓取。

###关键词筛选测试样例

设置如下:

WEB_FILETER_PRI_KEYS = (u'校招', u'应届', u'毕业生')
WEB_FILETER_KEYS = (u'百度', u'阿里', u'腾讯',u'网易')
WEB_FILETER_EXCLUDE_KEYS = (u'社招',)

测试结果如下:

"[社招/校招] 阿里巴巴招聘实习生" # True,信息包含WEB_FILETER_PRI_KEYS 
"[社招] 阿里巴巴招聘实习生" # False,信息虽包含WEB_FILETER_KEYS但也包含WEB_FILETER_EXCLUDE_KEYS 
"阿里巴巴招聘实习生" # True,信息虽包含WEB_FILETER_KEYS且不包含WEB_FILETER_EXCLUDE_KEYS 

###爬取目标的设置 本程序默认爬取北邮和水木两个BBS板块的信息,如果你还想爬取其他目标的信息,要在conf.py中HTTP_QUERYS元组内添加新网站设置信息的字典项。下面示例添加了爬取'天津大学就业指导中心的招聘信息板块'的设置:

{
 'host' : 'http://job.tju.edu.cn/', #网站的域名,'host'+'href'应该能够合成为一个可访问的招聘信息的链接。
 'url' : 'http://job.tju.edu.cn/zhaopinxinxi.php', #设置你要爬取的页面,该页面包含了招聘信息的链接,通常为招聘板块的首页。
 'headers' : {	 #headers的设置保持不变
 "X-Requested-With" : "XMLHttpRequest",
 },
 'href' : r"^zhaopinxinxi_detail.php\?id=\d+$", #设置匹配字符串,匹配'url'网页中<a>标签的href内容。设置本项时可以在'url'网页中找一条招聘信息的超链接<a>,将其中的href内容放入字符串,href尾部数字部分用'\d+'代替,如果链接中有'?',需要改成'\?'进行转义。
 'source' : u'天津大学就业指导中心-招聘信息',
},

##安装与运行 Unix/Windows下均需要先在本机安装redis服务程序,然后在Unix下运行redis-server,在Windows下启动redis-server.exe。

安装示例:Mac OS X下安装redis

brew install redis

此外,程序依赖以下Python第三方包:

安装示例:Mac OS X/Linux下安装Python第三方包

pip install apscheduler
pip install BeautifulSoup
pip install redis
pip install requests

然后直接运行main.py程序,访问http://127.0.0.1:8888 -e 与 -s 参数分别开启 邮件与短信通知功能,具体可以python main.py help 查看

##WEB页面效果

1

Enjoy it。

About

爬爬爬

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /