[关闭]
@heavysheep 2017-07-12T08:37:43.000000Z 字数 3917 阅读 1156

移交文档

文档


代码和项目

以下代码如未说明均使用Python3,所使用第三方库请参加代码from和import。

单文件

community_news_baidu.py

更新的社区新闻抓取代码,以百度新闻作为跳板,newspaper作为解析框架,循环以街道作为关键字搜索新闻完成抓爬。
直接调用,数据自动去重入库mongodb的‘community_news’表。

table_PhantomJS.py

抓取页面时,将table表转成图片,以应对表格难以处理的问题。需要无头浏览器驱动PhantomJS。
调用方法:

  1. driver = webdriver.PhantomJS(executable_path=r"C:\Users\prince\Desktop\phantomjs-2.1.1-windows\bin\phantomjs.exe") # phantomjs.exe所在位置
  2. take_screenshots_from_web(_driver=driver, # driver对象
  3. url=r'http://www.cnblogs.com/yangxiaolan/p/5598924.html', # 目标网址
  4. table_index=[0, 1, 2, 3]) # 图片在DOM树的索引位置

netease_house_prices.py

爬取网易的小区名、房价、地址、交易量等等各种信息。
直接调用,并在代码文件夹下生成‘网易房价.xlsx’文件。

anjuke.py

爬取安居客的小区名、房价、地址、交易量等各种信息。
直接调用,并在代码文件夹下生成‘安居客房屋数据.xlsx’文件。

activity.py

爬取文化云的社区活动,具体实现在注释中已经比较清楚了。相关描述见文档
直接调用,数据自动入库mongodb的‘activity’表并自动覆写和处理过期数据。

cal.py

爬取农历日历、宜忌、节日等等各种信息。

  1. cal = Calendar()
  2. cal.main('2017-04-13', '2018-12-31') # 第一个参数填写起始时间,第二个填写结束时间

直接调用,数据自动入库mongodb的‘calendar’表。

discount.py

爬取上海打折网的商超打折信息并处理logo外链。相关描述见文档
直接调用,数据自动入库mongodb的‘discount’表。

gewara_ticket.py

爬取格瓦拉的电影票务信息并简单处理,相关描述见文档
直接调用,数据自动入库mongodb的‘gewara’表。

history_today.py

爬取历史上的今天并处理。
直接调用,并在代码文件夹下生成'history_data.xlsx'文件。

lottery.py

爬取上海市福利彩票销售中心的彩票数据,记录各个彩票的开奖结果,相关描述见文档
直接调用,当天数据自动入库mongodb的‘lottery’表。

tourism.py

爬取上航假期的相关数据,抓取首页上三种类型旅游线路机器详情信息,相关描述见文档
直接调用,当时数据自动入库mongodb的tourism表。

vegetable_prices.py

爬取上海农产品交易流通网的数据,抓取菜品价格相关信息,实际运行时需每日9:30运行一次以保持更新。
直接调用,当天数据自动入库mongodb的vegetable_prices表。

xishiqu_ticket.py

爬取西十区的非电影票务信息,相关描述见文档
直接调用,数据自动入库mongodb的‘xishiqu’表。
注:西十区最近的页面似乎有一些链接索引值的反爬变更,如果碰到这种情况,可以在首页上对元素进行记录和处理以绕过反爬。

bus_query.py

爬取上海所有线路及其站点。

data_save方法将翻墙抓爬维基百科中上海所有线路,并产生POI_bus.xlsx。如使用已有文件,则注释掉69行中self.data_save()方法的调用。

如百度一个ak不足以一次性完成所有数据,可在71行进行切片以分次处理,具体填写如下:

  1. for i in range(len(DF['name']))[起始索引:结束索引]:

调用后自动在mongodb数据库的‘bus_line’表自动入库。

sh_gov

上海网上政务大厅的抓爬代码包,每个子网站都是一个爬虫文件,使用Python2+scrapy进行抓爬。
修改内部的mysql指向,运行即可。

Community_news

社区新闻抓爬,已经完成了长宁、虹口、黄埔、静安、闵行、普陀、徐汇、杨浦等8个区的抓爬。因项目未完成,正文提取的代码部分可能会出现一些问题。

CommunityNewsMethod.py

定义了一些常用爬虫方法,包括请求、代理、正文节点的提取、获取前几个月的时间、数据入库等方法。

项目内其他区的抓爬文件

直接调用即可,数据会入库mongodb的对应区的news表。

meishijie

美食杰的抓爬项目

meishijie_spider

美食杰的基础抓爬程序,代码比较早,代理使用的阿布云,现在已经无法使用,但部分提取节点的逻辑没问题,其当时完成获得的数据文件也沿用至今。

cuisine.py

因美食杰的翻页在50页+时会出现翻页变但内容不变的情况,因此通过抓爬种类菜系尽可能多的收集菜谱并满足产品设计的需求。

在需要重新抓取时,可以分别注释掉菜系列表和类型列表各运行一次(因为当时list_url写到一起了),会产生相应种类和菜系的xlsx文件。

processing.py

最终完成数据处理和整合的程序,内部逻辑比较清楚,可以按需求修改。
因抓爬已经完成,建议以后有逻辑修改需求时直接修改和调用此文件即可。

robot

智橙助手语音功能的最小MVP项目,当时急于在两天内实现,代码未按照pep8标准进行编写,比较丑陋,功能没问题。

Turing_robot.py

项目主进程文件,在其中实现了社区新闻,天气查询,公交查询,菜价查询,路线查询,惠民购物查询,智橙生活推广等功能。

部分功能和除以上功能外的其他功能由调用图灵机器人完成,语音由调用百度语音API完成(百度语音的token每月必须重新生成一次)

智橙健康

唯一需要认真说明一下的代码。

已有机器人账号

微信名称:海虹欣苑智慧亭
微信账号:17321386130
微信密码:xxadksll1

微信名称:延吉新村智慧屋
微信账号:17321136131
微信密码:xxadksll1

lexin_0001.py/lexin_0002.py

添加点位步骤
1. 申请一个新的微信,用作点位的微信机器人。
2. 微信绑定体脂称和血压仪。
3. 用微信为两个仪器连接WIFI。
4. 新建一个文件,完全复制lexin_0001代码,修改171行的user保证不重复即可,例如为0003号门店:

  1. if __name__ == '__main__':
  2. bot= WechatOperation(user='0003') # 相应的编码规则可在24-25行修改。
  3. bot.run()

5.在服务器端运行python lexin_000x.py。
6. 建议将机器人添加进‘健康仪器监控’群,在群中输入‘机器人巡查’,运行正常的机器人会汇报正常
7. 单独私聊机器人‘测试’可让该机器人注入伪造的测试数据方便测试

机器人运营
1. 微信机器人的登录可能会随时间长而掉线,在网络不稳定的服务器尤其容易出现,因此建议每天早上都重连一次以确保程序可用。
2. 鉴于无法破解md5加密,现在每次用户在使用体重秤时都需要维护者及时点击‘乐心运动’并进入确认‘我测量的’,才能完善获取数据并入库。
3. 可以用微信分身时刻保持多门店挂载,同时为机器人微信在网页版时打开声音,并未该微信的消息通知配置特别通知音。

退出微信时不退出网页挂载的方法
1. 开启手机飞行模式
2. 退出手机微信
3. 重新进入微信选择新账号
4. 关闭手机飞信模式,登录其他微信

lexin_pyqt.py

乐心的测试GUI,可以向GUI内注入值模拟真实的测试,节约时间。注入有5种可能的逻辑。
1. 用户非赤脚上称,不测量血压,只获得体重;
2. 用户赤脚上称,不测量血压,获得体重相关6项数据;
3. 用户非赤脚上称,测量血压,获得血压和体重等5项数据;
4. 用户赤脚上称,测量血压,获得全部10项数据;
5. 用户不上形成,只测量血压,获得4项数据。

在代码中以写以上5种逻辑,如果逻辑不存在,会弹出警告框。
如果注入成功,下方会显示已经注入并标注时间

修改注入数据的对应器材

  1. if __name__ == "__main__":
  2. master = Tk()
  3. healthy_test = HealthyTest(master, '0001') # 修改第二个参数,以对应仪器
  4. healthy_test.main()

如设备编码规则修改,需修改17、18行的设备编码规则至对应规则。

方案和文档

相关md文件均可在原链接访问

分享

记录了2次分享的提纲和文档

爬虫

记录了table表转图的处理方案和过程

数据分析

记录了数据分析扫码的相关文档

文档

记录了一些爬虫所得数据的数据结构和项目方案

算法

记录了早期新闻推荐系统、推荐算法和paxos算法的文档。

新闻推荐系统

记录了早期新闻推荐系统的相关描述和方案

运营

记录了刷量的方案

分析报告

记录了去年工作不忙时候写的几个分析报告。

数据

办事指南

办事指南历次清洗的数据,里面有详细的清洗记录。

菜谱

对美食杰和聚合数据爬取的菜谱数据。

历年统计数据

上海统计局相关数据

临时备用

处理过程中有价值的数据,例如词性、居委会等

全国银行行号表

抓爬了银行卡号为各个银行分配的号段

手册类

主要是配送人员培训的协议

头像

抓爬自世纪佳缘的详情头像,按年龄和男女分类

小区

刚来时候处理的小区数据

杂七杂八的产出文件

进入公司以来存录的各种文件

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注