前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫无烦恼,大牛教你怎么简单爬36kr网,带源码

爬虫无烦恼,大牛教你怎么简单爬36kr网,带源码

作者头像
企鹅号小编
发布2018-01-31 11:02:40
6870
发布2018-01-31 11:02:40
举报
文章被收录于专栏:大数据大数据

抓取36kr网站数据

爬虫代码和数据sql脚本在下方链接,抓取过程主要是抓包找到url递归解析的规律,三个主要的函数 以及 表结构脚本如下:

#建表语句(写爬虫时候忘记添加user_url 后续数据处理时候update补全了这个字段)CREATE TABLE `36kr` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `column_id` varchar(255) DEFAULT NULL COMMENT '专题id', `tag` varchar(255) DEFAULT NULL COMMENT '专题名', `b_id` varchar(255) DEFAULT NULL COMMENT '文章id', `article_url` varchar(255) DEFAULT NULL COMMENT '文章url', `title` varchar(255) DEFAULT NULL COMMENT '标题', `user_id` varchar(255) DEFAULT NULL COMMENT '用户id', `user_name` varchar(255) DEFAULT NULL COMMENT '用户名', `total_words` varchar(255) DEFAULT NULL COMMENT '文章总字数', `close_comment` varchar(255) DEFAULT NULL COMMENT '关闭评论数', `favorite` varchar(255) DEFAULT NULL COMMENT '收藏数', `likes` varchar(255) DEFAULT NULL COMMENT '赞数', `pv` varchar(255) DEFAULT NULL COMMENT 'pv浏览量', `pv_app` varchar(255) DEFAULT NULL COMMENT 'app浏览量', `pv_mobile` varchar(255) DEFAULT NULL COMMENT '手机端浏览量', `view_count` varchar(255) DEFAULT NULL COMMENT '观看次数统计', `extraction_tags` text COMMENT '文章标签', `summary` text COMMENT '摘要', `title_mobile` text COMMENT '手机端标题', `introduction` varchar(255) DEFAULT NULL COMMENT '简介', `published_at` varchar(255) DEFAULT NULL COMMENT '发表时间', `created_at` varchar(255) DEFAULT NULL COMMENT '创建时间', `updated_at` varchar(255) DEFAULT NULL COMMENT '更新时间', `related_company_id` varchar(255) DEFAULT NULL COMMENT '公司id', `related_company_type` varchar(255) DEFAULT NULL COMMENT '公司类型', `related_company_name` varchar(255) DEFAULT NULL COMMENT '公司名称', `full_url` varchar(255) DEFAULT NULL COMMENT '请求url', `user_url` varchar(50) DEFAULT NULL COMMENT '用户url',, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=29045 DEFAULT CHARSET=utf8;

爬虫核心三个函数 人工构造导航栏(字段tag)的 column_ids和 column_names列表 进行字典映射 请求数据后将导航栏数据写入数据库,第一次请求url只有column_id动态 per_page参数写死=1

#第一次请求解析出后续的请求url def parse_column(self): column_ids = self.column_ids_dict['column_ids'] print(column_ids, self.column_dict) for column_id in column_ids: self.parse_first_req(column_id) #第一次请求url只有column_id动态 per_page参数写死=1 def parse_first_req(self, column_id): first_url = self.start_url.format(column_id) print(first_url) html = requests.get(first_url).text items = json.loads(html)['data']['items'] if items: last_b_id = items[-1]['id'] full_url = self.base_url.format(column_id, last_b_id) print('解析导航栏:%s-->首页,id-->%s' % (self.column_dict[column_id], column_id)) self.parse_json(full_url) else: pass #解析 http://36kr.com/api/post?column_id=23&b_id=5070043&per_page=100 数据网为100个item循环遍历 def parse_json(self, full_url): print("解析组合url--->", full_url) self.req_urls.append(full_url) html = requests.get(full_url).text items = json.loads(html)['data']['items'] if items: for item in items: parse_item = item parse_item['tag'] = self.column_dict[item['column_id']] parse_item['full_url'] = full_url self.insert_item(parse_item) last_b_id = items[-1]['id'] column_id = items[-1]['column_id'] next_req_url = self.base_url.format(column_id, last_b_id) print('下一次请求url-->', next_req_url) #递归 self.parse_json(next_req_url) else: pass

最终根据网站导航栏的结构进行抓取了29000多篇文章,数据维度包括作者,创建及发布和更新时间,pv浏览量,收藏数,点赞数等

现在许多人都想学习人工智能才来学的python,这里小编题外为大家补充一下刚刚看见的最新消息《除了获奖感言 吴恩达们说人工智能的2018要这么走!》摘录:

大众对人工智能的理解存在误区 有点像“盲人摸象”

在《AI技术变革:趋势与方向》圆桌讨论之中,主持人乌镇智库理事长、《人工智能简史》作者张晓东首先抛出一个问题,大家对人工智能的理解到底有没有误区?瞬间引发大家热议。

旷视科技首席科学家孙剑坦言,目前社会大众对AI的误区肯定是有的,通过AlphaGo这样的事件让大家觉得人工智能已经很快就到了,但是在学术界,大家其实觉得人工智能还很长远,还有很多基本问题都没有解决。

同样,中科院计算所研究员,中科视拓创始人、董事长兼CTO山世光持相同看法,他将这种误区打比方为“盲人摸象”,他讲到,每个人的经验都是基于自己过去的一些研究的经历或开发经历,所以即使从业人员对AI的理解也是片面的,大家都没有一个全局的观念,因为没有一个人能够在这样一个时间点把所有的事情都搞得非常清楚。

这在第四范式创始人兼CEO戴文渊看来,人工智能和人类智能是两种不一样的东西,人的大脑工作原理和机器大脑的工作原理是不一样的,比如有一个运算能力特别强、记忆特别快的大脑,但它和人的归纳、抽象、总结方式和原理是不一样的,他这样指出了一个普遍存在的一个误区。

而同盾科技副总裁顾威则将这种误区归纳为“真理总会有一个过程”,人工智能未来就像互联网一样,互联网当时在90年代末期,大家觉得对它也有质疑,对它的理解有误区,我相信未来五到十年就有人工智能的BAT出现。

文章来源:

如有侵权,请联系小编删除文章

本文来自企鹅号 - 鲁滨逊媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 鲁滨逊媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档