@heavysheep
2017-07-12T08:37:43.000000Z
字数 3917
阅读 1156
文档
以下代码如未说明均使用Python3,所使用第三方库请参加代码from和import。
更新的社区新闻抓取代码,以百度新闻作为跳板,newspaper作为解析框架,循环以街道作为关键字搜索新闻完成抓爬。
直接调用,数据自动去重入库mongodb的‘community_news’表。
抓取页面时,将table表转成图片,以应对表格难以处理的问题。需要无头浏览器驱动PhantomJS。
调用方法:
driver = webdriver.PhantomJS(executable_path=r"C:\Users\prince\Desktop\phantomjs-2.1.1-windows\bin\phantomjs.exe") # phantomjs.exe所在位置
take_screenshots_from_web(_driver=driver, # driver对象
url=r'http://www.cnblogs.com/yangxiaolan/p/5598924.html', # 目标网址
table_index=[0, 1, 2, 3]) # 图片在DOM树的索引位置
爬取网易的小区名、房价、地址、交易量等等各种信息。
直接调用,并在代码文件夹下生成‘网易房价.xlsx’文件。
爬取安居客的小区名、房价、地址、交易量等各种信息。
直接调用,并在代码文件夹下生成‘安居客房屋数据.xlsx’文件。
爬取文化云的社区活动,具体实现在注释中已经比较清楚了。相关描述见文档
直接调用,数据自动入库mongodb的‘activity’表并自动覆写和处理过期数据。
爬取农历日历、宜忌、节日等等各种信息。
cal = Calendar()
cal.main('2017-04-13', '2018-12-31') # 第一个参数填写起始时间,第二个填写结束时间
直接调用,数据自动入库mongodb的‘calendar’表。
爬取上海打折网的商超打折信息并处理logo外链。相关描述见文档
直接调用,数据自动入库mongodb的‘discount’表。
爬取格瓦拉的电影票务信息并简单处理,相关描述见文档
直接调用,数据自动入库mongodb的‘gewara’表。
爬取历史上的今天并处理。
直接调用,并在代码文件夹下生成'history_data.xlsx'文件。
爬取上海市福利彩票销售中心的彩票数据,记录各个彩票的开奖结果,相关描述见文档
直接调用,当天数据自动入库mongodb的‘lottery’表。
爬取上航假期的相关数据,抓取首页上三种类型旅游线路机器详情信息,相关描述见文档
直接调用,当时数据自动入库mongodb的tourism表。
爬取上海农产品交易流通网的数据,抓取菜品价格相关信息,实际运行时需每日9:30运行一次以保持更新。
直接调用,当天数据自动入库mongodb的vegetable_prices表。
爬取西十区的非电影票务信息,相关描述见文档
直接调用,数据自动入库mongodb的‘xishiqu’表。
注:西十区最近的页面似乎有一些链接索引值的反爬变更,如果碰到这种情况,可以在首页上对元素进行记录和处理以绕过反爬。
爬取上海所有线路及其站点。
data_save方法将翻墙抓爬维基百科中上海所有线路,并产生POI_bus.xlsx。如使用已有文件,则注释掉69行中self.data_save()方法的调用。
如百度一个ak不足以一次性完成所有数据,可在71行进行切片以分次处理,具体填写如下:
for i in range(len(DF['name']))[起始索引:结束索引]:
调用后自动在mongodb数据库的‘bus_line’表自动入库。
上海网上政务大厅的抓爬代码包,每个子网站都是一个爬虫文件,使用Python2+scrapy进行抓爬。
修改内部的mysql指向,运行即可。
社区新闻抓爬,已经完成了长宁、虹口、黄埔、静安、闵行、普陀、徐汇、杨浦等8个区的抓爬。因项目未完成,正文提取的代码部分可能会出现一些问题。
定义了一些常用爬虫方法,包括请求、代理、正文节点的提取、获取前几个月的时间、数据入库等方法。
直接调用即可,数据会入库mongodb的对应区的news表。
美食杰的抓爬项目
美食杰的基础抓爬程序,代码比较早,代理使用的阿布云,现在已经无法使用,但部分提取节点的逻辑没问题,其当时完成获得的数据文件也沿用至今。
因美食杰的翻页在50页+时会出现翻页变但内容不变的情况,因此通过抓爬种类
和菜系
尽可能多的收集菜谱并满足产品设计的需求。
在需要重新抓取时,可以分别注释掉菜系列表和类型列表各运行一次(因为当时list_url写到一起了),会产生相应种类和菜系的xlsx文件。
最终完成数据处理和整合的程序,内部逻辑比较清楚,可以按需求修改。
因抓爬已经完成,建议以后有逻辑修改需求时直接修改和调用此文件即可。
智橙助手语音功能的最小MVP项目,当时急于在两天内实现,代码未按照pep8标准进行编写,比较丑陋,功能没问题。
项目主进程文件,在其中实现了社区新闻,天气查询,公交查询,菜价查询,路线查询,惠民购物查询,智橙生活推广等功能。
部分功能和除以上功能外的其他功能由调用图灵机器人完成,语音由调用百度语音API完成(百度语音的token每月必须重新生成一次)
唯一需要认真说明一下的代码。
微信名称:海虹欣苑智慧亭
微信账号:17321386130
微信密码:xxadksll1
微信名称:延吉新村智慧屋
微信账号:17321136131
微信密码:xxadksll1
添加点位步骤
1. 申请一个新的微信,用作点位的微信机器人。
2. 微信绑定体脂称和血压仪。
3. 用微信为两个仪器连接WIFI。
4. 新建一个文件,完全复制lexin_0001代码,修改171行的user保证不重复即可,例如为0003号门店:
if __name__ == '__main__':
bot= WechatOperation(user='0003') # 相应的编码规则可在24-25行修改。
bot.run()
5.在服务器端运行python lexin_000x.py。
6. 建议将机器人添加进‘健康仪器监控’群,在群中输入‘机器人巡查’,运行正常的机器人会汇报正常
7. 单独私聊机器人‘测试’可让该机器人注入伪造的测试数据方便测试
机器人运营
1. 微信机器人的登录可能会随时间长而掉线,在网络不稳定的服务器尤其容易出现,因此建议每天早上都重连一次以确保程序可用。
2. 鉴于无法破解md5加密,现在每次用户在使用体重秤时都需要维护者及时点击‘乐心运动’并进入确认‘我测量的’,才能完善获取数据并入库。
3. 可以用微信分身时刻保持多门店挂载,同时为机器人微信在网页版时打开声音,并未该微信的消息通知配置特别通知音。
退出微信时不退出网页挂载的方法
1. 开启手机飞行模式
2. 退出手机微信
3. 重新进入微信选择新账号
4. 关闭手机飞信模式,登录其他微信
乐心的测试GUI,可以向GUI内注入值模拟真实的测试,节约时间。注入有5种可能的逻辑。
1. 用户非赤脚上称,不测量血压,只获得体重;
2. 用户赤脚上称,不测量血压,获得体重相关6项数据;
3. 用户非赤脚上称,测量血压,获得血压和体重等5项数据;
4. 用户赤脚上称,测量血压,获得全部10项数据;
5. 用户不上形成,只测量血压,获得4项数据。
在代码中以写以上5种逻辑,如果逻辑不存在,会弹出警告框。
如果注入成功,下方会显示已经注入并标注时间
修改注入数据的对应器材
if __name__ == "__main__":
master = Tk()
healthy_test = HealthyTest(master, '0001') # 修改第二个参数,以对应仪器
healthy_test.main()
如设备编码规则修改,需修改17、18行的设备编码规则至对应规则。
相关md文件均可在原链接访问
记录了2次分享的提纲和文档
记录了table表转图的处理方案和过程
记录了数据分析扫码的相关文档
记录了一些爬虫所得数据的数据结构和项目方案
记录了早期新闻推荐系统、推荐算法和paxos算法的文档。
记录了早期新闻推荐系统的相关描述和方案
记录了刷量的方案
记录了去年工作不忙时候写的几个分析报告。
办事指南历次清洗的数据,里面有详细的清洗记录。
对美食杰和聚合数据爬取的菜谱数据。
上海统计局相关数据
处理过程中有价值的数据,例如词性、居委会等
抓爬了银行卡号为各个银行分配的号段
主要是配送人员培训的协议
抓爬自世纪佳缘的详情头像,按年龄和男女分类
刚来时候处理的小区数据
进入公司以来存录的各种文件