专栏名称: 学术中国
“见证学术力量 锻造学术精神”——关注“学术中国”,即时获取最新学术信息!
目录
相关文章推荐
募格学术  ·  同济大学发布讣告 ·  2 天前  
研之成理  ·  研究饮用水消毒剂,发一篇Science! ·  5 天前  
51好读  ›  专栏  ›  学术中国

18小时从零掌握Python网络爬虫

学术中国  · 公众号  · 科研  · 2017-06-21 13:03

正文


课程目标


1. 快速系统掌握Python网络爬虫,在最短的时间内,了解Python和网络的基本知识、爬虫的原理和流程,节约大量学习的时间成本和试错成本

2. 亲自动手写爬虫,学会解决异常和问题,搭好爬虫框架,方便程序的复制和移植

3. 掌握基本功,熟悉各种概念,形成自己的爬虫体系,并进一步掌握复杂、动态页面的高级Python爬虫以及反爬虫策略


特训内容


第一课. Python基础知识(第一天上午)


1、 软件运行与基本操作

2、 变量与运算:字符、数值

3、 数据结构:列表(list)和字典(dict),用于储存抓取下来的数据

4、 字符串操作:清洗数据

5、 函数定义和类:搭建爬虫框架

6、 条件判断(if):解决爬虫过程中选择的问题

7、 循环迭代(for... while...):控制爬虫持续抓取数据

8、 错误与异常的处理:(try... except...)以及借助网络解决问题

 

第二课.请求网页(第一天下午)

(网络爬虫的原理,最重要的一步)


1、 HTML基础知识介绍:网页类型,HTML语言

2、 爬虫思路

3、 库:requests(详细介绍,利用该强大的模块请求各类网页)

4、 文件读写操作及中文乱码解决


第三课.提取信息(第二天上午)


1、 利用浏览器分析网页:使用浏览器自带的开发者工具

2、 正则表达式及模块详细介绍:re (用于从网页中获取所需的结构化的数据)

 

第四课. 保存数据(第二天下午)


1、 文件存储格式介绍

2、 文件读写

3、 库:csv,pandas,os,用于创建文件夹和存储数据

4、 合并数据

5、 初级爬虫实战:链家、校友捐赠


第五课. 高级爬虫进阶(第三天上午)

(动态网页及反爬虫知识)


复杂动态网页:

1、 抓包知识与操作详解(核心)

2、 请求网页的方式:get和post

3、 静态网页和动态网页

4、 json格式数据获取


常见反爬虫策略:

5、 headers简介及作用

6、 cookies简介及作用(反爬虫+模拟登陆)

7、 控制频率

8、 验证码识别(选讲)


高效率爬虫:

9、 多线程(选讲)


第六课.复杂动态网站实战(第三天下午)

(将所学应用于实战,使学员熟悉使用模板来应对未来可能遇到的不同类型、不同难度的网页爬虫)


1、 爬虫总结

2、 案例一:空气污染

3、 案例二:电子警察

4、 案例三:中国土地市场网

5、 案例四:法律之星

6、 案例五:私募基金

7、 案例六:投资中国

8、 案例七:专利数据


讲师简介


叶泽心,西南财经大学经济与管理研究院,四川爬爬帅数据科技有限公司首席技术顾问,曾获全国大学生数学建模竞赛一等奖。拥有非常丰富的经济金融及社科类数据爬虫经验,对各类网站的数据抓取情况都非常熟悉,总结出了一套完整系统而又简洁实用的数据抓取方法,抓取过国家统计局、环保部、大众点评、中国土地市场网、公众环境研究中心等上百家网站的公开数据。


另外,现场将会有两名助教,他们有着丰富的python爬虫经验,将在现场随时指导学员。


课程信息


目的:帮助研究者轻松掌握抓取网络数据的方法,享有独家数据,发表高质量论文

时间:2017年8月18日-20日(三天)

地点:北京市(具体地点另行通知)

安排:上午9:00-12:00;下午2:00-5:00;答疑5:00-5:30

费用: 1500元(食宿、交通费用自理)

规模:为保证教学质量,本次特训营限额60人。(学术中国会员不在限额内)

参与对象:对Python网络爬虫感兴趣的都可以参加,尤其推荐经管和社科类专业的童鞋。


报名咨询

咨询联系人:

电话:010-56204616;

刘老师 手机或微信:18600520319;

财务服务支持:

武老师  手机或微信:13552535030;


▲长按上方二维码可识别报名


注意事项


1、报名截止日期:2017年8月17日 17:00(具体截止日期根据实际招生而定,人员招满,将会立即关闭报名通道)。

2、如您报名后有事不能参加,请在报名之后的10-15天之内办理退费,并将收取6%的手续费!2017年8月10日17:00之后不再接受退费!人数不满30人不开班!

3、本次会议可提供增值税普通发票,如需开具,请在购买时点开“是否开发票”项,并根据自己单位财务部门要求填写抬头和类目信息(一旦开具不能重开),发票类目为:网络会议费、信息服务费、会议费、咨询费,报名时可以直接任选其一,其他类目无法开具。信息填写完整的老师可现场领取发票。


4. 请大家自备手提电脑,提前安装Python软件(为节约时间,特训前我们会在微信群中发送网盘链接并提供安装指导)

5. 本次特训对参与者的Python编程基础没有任何要求

6. 本次特训核心内容均为原创,暂无指定教材或网络课程

7. 参与者会得到电子版的内部课件及爬虫源代码以便后续巩固

8. 食宿及交通费用自理

9. 结束后,在微信群中可继续享受长期免费答疑


FAQ


1. 什么是网络爬虫?

网络爬虫是一种按照一定的规则,自动地抓取网页信息的程序。因此,人们根据自己的需求,编写程序制定网络爬虫使其自动地抓取特定网页的信息。网络爬虫可以使计算机代替手工做事,大大提高获取数据的效率。

 

2. 为什么要学习网络爬虫?

经济学家的研究也越来越离不开数据的支持。以2012年第1期的《经济研究》为例,11篇学术文章, 除了一篇纯理论研究的文章外,其余10篇均引用了各种数据。 在中国经济学工作者常常访问的论坛里也充斥大量关于数据的下载、交换和交易的信息。 


为了获取所需的数据, 经济学家不得不投入大量资金来搜集、 购买各种数据库。如果数据已经被很好的整理,即使需要高价购置,对经济学家而言已属幸运,实际上很多研究所需的数据往往无处寻觅或者分散在多处。 好在随着互联网的发展,电子商务、电子政务的逐渐推广,部分数据在网站上直接公开了,只是并未以良好的格式加以组织、对研究者不够友好。


——钟锃光《经济学家也要学点网络爬虫技术》


不仅仅是经管类研究,在社科类研究中,使用爬虫技术,能方便、大批量的抓取网站上的数据,占得先机,拥有自己独特的数据库,用于实证研究,发表高水平论文。

 

3. 为什么选择python?


(1)语言开源免费,简单易懂,非常容易上手,效率高

(2)强大的数据处理功能,能够便捷地对数据格式化、结构化

(3)非常丰富的模块,只需导入相应模块就可实现各种功能,研究者可以避免琐碎的语法,将精力集中在功能的实现上

(4)相较C++、JAVA等计算机编程语言,python对于经管及社科类研究者而言更易上手,诺奖得主Sargent据说也在学习python,其与博士生合作编写的《Quantitative Economics》中的案例正是基于python语言。

 

4. 学习该课程会有什么收获?


(1)快速系统入门python网络爬虫,在最短的时间内,了解python和网络的基本知识、爬虫的原理和流程,大量节约学习的时间成本和试错成本。

(2)掌握基本功,熟悉各种概念,为后续开展自己的python爬虫项目打下坚实的基础

(3)亲自动手写爬虫,学会解决异常和问题,搭好爬虫框架,方便程序的复制和移植

 

5. python爬虫掌握程度分级?


(1)初级:掌握爬虫和网络基本知识,能够自己动手写简单的爬虫,可以抓取静态网页数据

(2)高级:了解反爬虫机制和应对策略,掌握抓包技术,能够以post的方式请求网页,解决登录问题,以及抓取动态网页数据

(3)专家级:多线程,分布式,主要在于提高数据抓取的效率(学习难度较大,多为计算机专业人才掌握)

学习完本课程可以完全掌握高级程度的python爬虫,可以满足研究中几乎全部的爬虫需要,学习完本课程后研究者可以自主抓取大部分网站所需的数据用于研究。

 

6. 为什么不直接用一些完善框架,例如scrapy?


(1)对于初学者来讲,最重要的是理解原理,把基础学好。很多时候一个问题解决不了,都是因为某些方面的知识欠缺。本课程力图为研究者提供一个较为系统全面而又简洁强大的爬虫框架。

(2)一般不建议初学者直接学习scrapy框架,初学就去接触这些框架很容易学的云里雾里,容易产生困惑,从而产生畏难情绪。爬虫实际是轻松愉快、很有成就感的一个过程,本课程希望带给研究者这种体验,从纷繁复杂的语法中脱离出来,直击爬虫的要害,从而轻松获取想要的数据,节约更多的时间用以解决研究中的实际问题。


往期学员评价


廖同学(新加坡国立大学):


这个课非常棒!首先这个课程内容非常实用,可以让我们在短期内学会抓取大量网页数据~另外叶老师的课程安排也非常合理,循序渐进有层次,易于理解的同时让我们温故知新~最后叶老师也非常耐心负责,会帮我们解决遇到的每个问题,并引导我们自己挑战实战项目,锻炼我们的独立操作能力~这是非常有收获的一门课~

 

罗同学(中国人民大学):


叶老师上课超棒,讲解细致有条理,每次都会耐心地回答我们的疑问。经过学习,目前我们都基本掌握了初级的爬虫技术,能独立请求网页、获取信息并存储数据。叶老师,你值得拥有!

 

陈同学(上海财经大学):


叶老师是个很nice的老师,不用害怕自己问的问题太傻,都能得到解答。而且能够让人明白为什么要这么一步步写,而不是直接把工具递在手上就完了,经常有发现惊喜的感觉,强推!(据说)叶老师还会请学员吃刨酸奶噢!

 

朱同学(西南财经大学):


很早的时候,导师就让我学下python数据抓取,我自己也在网上搜了不少资料,进行摸索,可是网上资料比较乱,尝试了几次,总是会出现这样或者那样的小问题,挫败感比较强,后来就放弃了。这次听了叶老师的课程,有一种豁然开朗的感觉,回去自己很快就爬下了几个网站。确实非常适合初学者,能够帮忙节约大量的时间,真诚推荐!!!

 

刘同学(西南财经大学):


这个课非常好。首先从内容上来说,叶老师系统的讲解了python和网页的基础知识,网络爬虫的原理和流程,熟悉各种爬虫的概念,内容非常的丰富实用。其次,叶老师上课讲解细致而有条理,每到重要的环节就会停下来,了解学员的掌握情况,帮助学员解决问题,使得学员能够在每一步上都跟上老师的节奏。最后就是整个课程的实用性,该课程不只让学员对爬虫有了初步的了解,还安排了实例课,手把手地教学员完成网页的抓取,所建立的抓取网页的模版流程也特别有用。

 

李同学(西南财经大学):


没上叶老师课之前,我自己也尝试着学习使用Python抓取数据。由于是经济专业,虽然对编程不陌生,但是初步上手Python确实还是有着很迷茫陌生的感觉,而网络上又查询不到想要的系统的相关教程(包括英文的)。Python确实强大,例如仅请求网页就有urllib、urllib2、requests等库,而提取信息又有Beautiful Soup、re、xPath等,但作为初学者,我很难分清楚各自的区别以至于虽然花了大量的时间学习,但却始终编不出自己想要的爬虫代码,倍感沮丧。叶老师的课程删繁就简,传授给了我们经过他摸索总结的一套爬虫框架,讲授最必要的知识,使得我们在最短的时间内可以搭建起自己的爬虫框架,并以此为参照,后续进一步扩展。现在,很多网站的爬虫只要在叶老师传授给我们的框架中做个性化的简单调整即可,非常的节约时间。并且,掌握了Python爬虫,使得我们对Python也更为熟悉,将来学习Python的数据分析也木有陌生感。非常值得参与的一门课程!

 

陈同学(复旦大学):


开课时讲完导言PPT就觉得自己报对了,叶大神真是哪哪都爬过,爬数据这门技术,也是哪哪都需要,人才呐!从学术研究,到技术岗位,就业能力,自己能多一门技能真的是很期待~


上完了也觉得超值得,一方面严格控制人数的小班教学让我这种很多question的宝宝可以随时提问,助教老师也会下来一对一指导.另一方面,少走了很多弯路的感觉,这些知识技巧自己钻研不知道要好久.....两天,就能爬网页上各种信息感觉酷酷的,能把官网上的张校长照片换成萌萌兔。哈哈哈我是不是有点不切题,总而言之,很开心,长姿势!!!这里再强调一下,主办方很细心!准备了插线板,课间茶歇,餐巾纸,名牌.....环境设施条件好当然学的愉快啦~最后一点,真的零基础都不要担心,看到同期班里的老师、博士们、硕士们,觉得自己要跟不上,然而老师细心从头讲,助教辅导解决各种问题,一路走的很顺利~

 

欧阳同学(里昂高等商学院):


叶老师的课条理非常清晰,先展示了他爬过的一些成果,然后概括了一个爬数据的顺序,即三大步:请求网页、提取数据、保存本地,然后从最基本的指令开始教起。且每一个步都会亲自指导有疑惑的同学,随时可以提问,随时解答,效率非常高,比自己在网上学少走了许多弯路。这就好比烹饪,先给我们呈现了一道美味的菜,而后告诉我们大概的步骤,其次告诉我们每个步骤里需要用到哪些原料,最后,我们就都可以自己动手做出那道菜了,每一步还可以让厨师在旁边指点,不至于犯一些自己都察觉不到的错误以致于菜品出来味道差强人意却又找不出原因。


ps:叶老师最后一堂课现场演示如何爬链家网的一百多页数据,简直激动人心!


附抓取过的部分网站列表


1.

网站:中华人民共和国环境保护部数据中心

难度:简单

任务:获取全国各城市历年空气质量日度数据(AQI和API)

链接:http://datacenter.mep.gov.cn/

备注:使用空气质量数据研究环境问题

 

2.

网站:中国国家统计局

难度:简单

任务:获取2014年统计用区划代码和城乡划分代码

链接:http://t.cn/Rtwvcf0

备注:全国性的大型微观调查的抽样阶段

 

3.

网站:前程无忧

难度:简单

任务:获取全国各城市不同公司的招聘需求信息

链接:http://www.51job.com/

备注:分析不同地区、不同行业劳动力市场需求情况

 

4.

网站:National Environment Agency

难度:简单

任务:获取新加坡空气污染实时数据

链接:http://t.cn/RotvJ1b

备注:使用空气质量数据研究环境问题

 

5.

网站:链家

难度:简单

任务:获取二手房成交信息

链接:http://bj.lianjia.com/chengjiao/

备注:二手房相关研究

 

6.

网站:甜蜜家园(糖尿病论坛)

难度:简单

任务:获取所有注册用户的信息(包括ID、用户名、性别、居住地、主题数等)

链接:http://bbs.tnbz.com/forum.php

备注:用户取名的文本分析、论坛用户活跃度情况等

 

7.

网站:西安交通大学校友网

难度:简单

任务:18032条校友捐款数据(包括捐赠者信息、金额、所捐项目等信息)

链接:http://t.cn/Ro5ro7f

备注:校友捐赠行为分析等

 

8.

网站:百度

难度:简单

任务:输入关键词获取新闻量(例如:上市公司名称+董事长姓名+年份)

链接:http://news.baidu.com/

备注:衡量舆论或媒体关注等

 

9.

网站:香港美联地产网

难度:简单

任务:获取香港二手房历史成交记录

链接:https://www.midland.com.hk/

备注:香港房地产市场相关研究,官方途径购买账号使用该数据需2.5万港币一年

 

10.

网站:中国土地市场网

难度:中等,以post方式请求网页

任务:获取县级土地交易信息

链接:http://t.cn/R4hycIz

备注:房地产、就业等研究

 

11.

网站:Weather Underground

难度:中等

任务:获取城市日度天气条件数据

链接:http://t.cn/RotvoUS

备注:使用天气数据研究相关问题

 

12.

网站:交通安全综合服务管理平台

难度:中等,需要会抓包

任务:获取各城市电子警察信息

链接:http://t.cn/R4WRIso

备注:城市经济学的研究

 

13.

网站:中国各地最低工资

难度:困难,需要会抓包

任务:获取全国区/县级最低工资

链接:http://miniwage.sgsgroup.com.cn/

备注:最低工资的科学制定,劳动经济学相关课题

 

14.

网站:淘宝网

难度:困难,动态网页,需要登录

任务:获取买家评论信息

链接:https://www.taobao.com/

备注:消费者行为、信誉评价机制的研究

 

15.

网站:京东网

难度:困难,动态网页,需要登录

任务:获取买家评论信息

链接:http://www.jd.com/

备注:消费者行为、信誉评价机制的研究

 

16.

网站:大众点评

难度:困难

任务:获取消费者点评信息

链接:http://www.dianping.com/

备注:消费者行为、信誉评价机制的研究


其他抓过的网站因涉及到相关老师正在进行的科研项目,暂不公布

 

更多的网站,更多的数据,等你来抓!



点击“阅读原文”亦可报名