如何学习爬虫技术抓取数据

传智播客旗下品牌:& & | && | &
改变中国IT教育,我们正在行动 &&&&全国咨询热线:400-618-4000
全国校区 
扫描二维码
关注传智播客QQ空间账号
?微信公众号
扫描二维码
关注传智播客微信公众账号
扫描二维码
关注传智播客新浪微博账号
400-618-4000[Python学习] 简单网络爬虫抓取博客文章及思想介绍
前面一直强调运用到网络爬虫方面非常有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简单介绍下Python是如何爬去网络数据的,文章知识非常简单,但是也分享给大家,就当简单入门吧!同时只分享知识,希望大家不要去做破坏网络的知识或侵犯别人的原创型文章.主要包括:
1.介绍爬取CSDN自己博客文章的简单思想及过程
2.实现Python爬取新浪韩寒博客的316篇文章http://blog.csdn.net/eastmount/article/details/
一.爬虫的简单思想http://blog.csdn.net/eastmount/article/details/
http://blog.csdn.net/eastmount/article/details/最近看刘兵的《Web数据挖掘》知道,在研究信息抽取问题时主要采用的是三种方法:
1.手工方法:通过观察网页及源码找出模式,再编写程序抽取目标数据.但该方法无法处理站点数量巨大情形.
2.包装器归纳:它英文名称叫Wrapper Induction,即有监督学习方法,是半自动的.该方法从手工标注的网页或数据记录集中学习一组抽取规则,从而抽取具有类似格式的网页数据.
3.自动抽取:它是无监督方法,给定一张或数张网页,自动从中寻找模式或语法实现数据抽取,由于不需要手工标注,故可以处理大量站点和网页的数据抽取工作.
这里使用的Python网络爬虫就是简单的数据抽取程序,后面我也将陆续研究一些Python+数据挖掘的知识并写这类文章.首先我想获取的是自己的所有CSDN的博客(静态.html文件),具体的思想及实现方式如下:
第一步 分析csdn博客的源码
首先需要实现的是通过分析博客源码获取一篇csdn的文章,在使用IE按F12或Google Chrome浏览器右键"审查元素"可以分析博客的基本信息.在网页中http://blog.csdn.net/eastmount链接了作者所有的博文.
显示的源码格式如下:
其中..表示显示的每一篇博客文章,其中第一篇显示如下:
它的具体html源代码如下:
所以我们只需要获取每页中博客中的链接
在没有讲述正则表达式之前使用Python人工获取超链接http,从文章开头查找第一个"<a title",然后接着找到"href="和".html"即可获取".cn/s/blog_2eo83.html".代码如下:http://blog.csdn.net/eastmount/article/details/
#coding:utf-8
con = urllib.urlopen(".cn/s/articlelist__0_1.html").read()
title = con.find(r&#39;<a title=&#39;)
href = con.find(r&#39;href=&#39;,title)
#从title位置开始搜索
html = con.find(r&#39;.html&#39;,href)
#从href位置开始搜素最近html
url = con[href+6:html+5]
#href="共6位 .html共5位
print &#39;url:&#39;,url
url: .cn/s/blog_2eohi.html
下面按照前面讲述的思想通过两层循环即可实现获取所有文章,具体代码如下:http://blog.csdn.net/eastmount/article/details/
#coding:utf-8
import urllib
import time
while page<=7:
url=[&#39;&#39;]*50
#新浪播客每页显示50篇
temp=&#39;.cn/s/articlelist__0_&#39;+str(page)+&#39;.html&#39;
con =urllib.urlopen(temp).read()
title=con.find(r&#39;<a title=&#39;)
href=con.find(r&#39;href=&#39;,title)
html = con.find(r&#39;.html&#39;,href)
#循环显示文章
while title!=-1 and href!=-1 and html!=-1 and i<50:
url[i]=con[href+6:html+5]
print url[i] #显示文章URL
#下面的从第一篇结束位置开始查找
title=con.find(r&#39;<a title=&#39;,html)
href=con.find(r&#39;href=&#39;,title)
html = con.find(r&#39;.html&#39;,href)
print &#39;end page=&#39;,page
#下载获取文章
while(j<i):
#前面6页为50篇 最后一页为i篇
content=urllib.urlopen(url[j]).read()
open(r&#39;hanhan/&#39;+url[j][-26:],&#39;w+&#39;).write(content) #写方式打开 +表示没有即创建
time.sleep(1)
print &#39;download&#39;
page=page+1
print &#39;all find end&#39;
这样我们就把韩寒的316篇新浪博客文章全部爬取成功并能显示每一篇文章,显示如下:
http://blog.csdn.net/eastmount/article/details/
这篇文章主要是简单的介绍了如何使用Python实现爬取网络数据,后面我还将学习一些智能的数据挖掘知识和Python的运用,实现更高效的爬取及获取客户意图和兴趣方面的知识.想实现智能的爬取图片和小说两个软件.
该文章仅提供思想,希望大家尊重别人的原创成果,不要随意爬取别人的文章并没有含原创作者信息的转载!最后希望文章对大家有所帮助,初学Python,如果有错误或不足之处,请海涵!
(By:Eastmount
中午11点 原创CSDN http://blog.csdn.net/eastmount/)
1.51CTO学院 智普教育的python视频http://blog.csdn.net/eastmount/article/details//course/course_id-581.htmlhttp://blog.csdn.net/eastmount/article/details/
2.《Web数据挖掘》刘兵著http://blog.csdn.net/eastmount/article/details/凤凰号出品
抓取数据这么酷的事儿,你也能学会!
2017年8月,学术中国在北京举办Python网络爬虫从入门到进阶工作坊(第1季),好评如潮,尤其是老师课后在微信群里的继续答疑打消了大家的后顾之忧。很多学友回去后自己爬取了网页数据,对自身的研究提供了很大的便利。数据时代,得数据者得天下,尤其是对于经管及社科研究者而言,当你学会了Python网络爬虫这个工具,将为你的研究插上加速器,自由获取网络上相关的研究数据。以下是第1季部分学员心声:张老师(神户大学):老师讲解很耐心仔细,助教也认真负责帮忙解决问题。广东某公司策划经理:听了叶老师的课收获很大,真正零基础也可以听得懂。通过课程已经能够对简单的网页数据进行爬虫抓取。老师和几位助教都很负责,初次写数据代码肯定会有很多错误的地方,老师和助教都能及时帮助纠正和解决,比自己看书看网络视频好多了。罗老师(中国人民大学):叶老师上课超棒,讲解细致有条理,每次都会耐心地回答我们的疑问。经过学习,目前我们都基本掌握了初级的爬虫技术,能独立请求网页、获取信息并存储数据。叶老师,你值得拥有! 朱老师(西南财经大学):很早的时候,导师就让我学下python数据抓取,我自己也在网上搜了不少资料,进行摸索,可是网上资料比较乱,尝试了几次,总是会出现这样或者那样的小问题,挫败感比较强,后来就放弃了。这次听了叶老师的课程,有一种豁然开朗的感觉,回去自己很快就爬下了几个网站。确实非常适合初学者,能够帮忙节约大量的时间,真诚推荐!!!更为熟悉,将来学习Python的数据分析也木有陌生感。非常值得参与的一门课程!陈老师(复旦大学):开课时讲完导言PPT就觉得自己报对了,叶大神真是哪哪都爬过,爬数据这门技术,也是哪哪都需要,人才呐!从学术研究,到技术岗位,就业能力,自己能多一门技能真的是很期待~最后一点,真的零基础都不要担心,看到同期班里的老师、博士们、硕士们,觉得自己要跟不上,然而老师细心从头讲,助教辅导解决各种问题,一路走的很顺利~欧阳同学(里昂高等商学院):叶老师的课条理非常清晰,先展示了他爬过的一些成果,然后概括了一个爬数据的顺序,即三大步:请求网页、提取数据、保存本地,然后从最基本的指令开始教起。且每一个步都会亲自指导有疑惑的同学,随时可以提问,随时解答,效率非常高,比自己在网上学少走了许多弯路。ps:叶老师最后一堂课现场演示如何爬链家网的一百多页数据,简直激动人心!再看看活动现场,满屏都是学习的热情啊!我们为课程建设的专属微信群里也是热烈讨论。因场地限制,第1季现场仅限70人参与了学习。很多学友被学长“无情的”挡在门外。为了弥补大家的遗憾,我们决定在今年10月份开设“Python网络爬虫从入门到进阶工作坊(第2季)”。还是原来的“配方”,还是原来的“味道”,但是我们会更加升级服务!就等你了!特训内容第一课. 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 (用于从网页中获取所需的结构化的数据)3、另外一个利器:Beautiful Soup第四课. 保存数据(第二天下午)1、文件存储格式介绍2、文件读写3、库:csv,pandas,os,用于创建文件夹和存储数据4、合并数据5、初级爬虫实战:链家、校友捐赠第五课. 高级爬虫进阶(第三天上午)(动态网页及反爬虫知识)复杂动态网页:1、 抓包知识与操作详解(核心)2、 请求网页的方式:get和post3、 静态网页和动态网页4、 json格式数据获取和存储常见反爬虫策略:5、 headers简介及作用6、 cookies简介及作用(反爬虫+模拟登陆)7、 控制频率8、 验证码识别第六课. 复杂动态网站实战(第三天下午)(将所学应用于实战,使学员熟悉使用模板来应对未来可能遇到的不同类型、不同难度的网页爬虫)1、爬虫总结2、案例一:空气污染3、案例二:电子警察4、案例三:中国土地市场网5、案例四:法律之星6、案例五:私募基金7、案例六:投资中国8、案例七:专利数据讲师简介叶泽心,西南财经大学经济与管理研究院,四川爬爬帅数据科技有限公司首席技术顾问,曾获全国大学生数学建模竞赛一等奖。拥有非常丰富的经济金融及社科类数据爬虫经验,对各类网站的数据抓取情况都非常熟悉,总结出了一套完整系统而又简洁实用的数据抓取方法,抓取过国家统计局、环保部、大众点评、中国土地市场网、公众环境研究中心等上百家网站的公开数据。课程详情目的:帮助研究者轻松掌握抓取网络数据的方法,享有独家数据,发表高质量论文时间:日-22日(三天)地点:重庆市(详细地点另行通知)安排:上午9:00-12:00;下午2:00-5:00;答疑5:00-5:30费用: 1800元/人规模: 为保证教学质量,本次特训营限额70人(含学术中国vip会员)。参与对象: 希望突出是针对经管和社科类的人群课程目标1. 快速系统掌握Python网络爬虫,在最短的时间内,了解Python和网络的基本知识、爬虫的原理和流程,节约大量学习的时间成本和试错成本2. 亲自动手写爬虫,学会解决异常和问题,搭好爬虫框架,方便程序的复制和移植3. 掌握基本功,熟悉各种概念,形成自己的爬虫体系,并进一步掌握复杂、动态页面的高级Python爬虫以及反爬虫策略报名咨询咨询联系人:张老师:
电话:010-;
手机或微信:;财务发票服务支持:武老师 手机或微信:;▲长按上方二维码识别报名注意事项1. 请大家自备手提电脑,提前安装Python软件(为节约时间,特训前我们会在QQ群/微信群中发送网盘链接并提供安装指导)2. 本次特训对参与者的Python编程基础没有任何要求3. 本次特训核心内容均为原创,暂无指定教材或网络课程4. 参与者会得到电子版的内部课件及爬虫源代码以便后续巩固5. 食宿及交通费用自理6. 结束后,在QQ群/微信群中可继续享受长期免费答疑 7、报名截止日期:日 17:00(具体截止日期根据实际招生而定,人员招满,将会立即关闭报名通道)。8、如您报名后有事不能参加,请在报名之后的10-15天之内办理退费,并将收取6%的手续费!日17:00之后不再接受退费!人数不满30人不开班!9、本次会议可提供增值税普通发票,如需开具,请在购买时点开“是否开发票”项,并根据自己单位财务部门要求填写抬头和类目信息(一旦开具不能重开),发票类目为:网络会议费、信息服务费、会议费、咨询费,报名时可以直接任选其一,其他类目无法开具。信息填写完整的老师可现场领取发票。FAQ1. 什么是网络爬虫?网络爬虫是一种按照一定的规则,自动地抓取网页信息的程序。因此,人们根据自己的需求,编写程序制定网络爬虫使其自动地抓取特定网页的信息。网络爬虫可以使计算机代替手工做事,大大提高获取数据的效率。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框架,初学就去接触这些框架很容易学的云里雾里,容易产生困惑,从而产生畏难情绪。爬虫实际是轻松愉快、很有成就感的一个过程,本课程希望带给研究者这种体验,从纷繁复杂的语法中脱离出来,直击爬虫的要害,从而轻松获取想要的数据,节约更多的时间用以解决研究中的实际问题。附:抓取过的部分网站列表1.网站:中华人民共和国环境保护部数据中心难度:简单任务:获取全国各城市历年空气质量日度数据(AQI和API)链接: http://t.cn/Ryhxjjt备注:使用空气质量数据研究环境问题 2.网站:中国国家统计局难度:简单任务:获取2014年统计用区划代码和城乡划分代码链接:http://t.cn/Rtwvcf0备注:全国性的大型微观调查的抽样阶段 3.网站:前程无忧难度:简单任务:获取全国各城市不同公司的招聘需求信息链接:http://t.cn/hpsJV备注:分析不同地区、不同行业劳动力市场需求情况 4.网站:National Environment Agency难度:简单任务:获取新加坡空气污染实时数据链接: http://t.cn/RotvJ1b备注:使用空气质量数据研究环境问题 5.网站:链家难度:简单任务:获取二手房成交信息链接:http://t.cn/RwFGYbI备注:二手房相关研究 6.网站:甜蜜家园(糖尿病论坛)难度:简单任务:获取所有注册用户的信息(包括ID、用户名、性别、居住地、主题数等)链接:http://t.cn/zOsw2HQ备注:用户取名的文本分析、论坛用户活跃度情况等 7.网站:西安交通大学校友网难度:简单任务:18032条校友捐款数据(包括捐赠者信息、金额、所捐项目等信息)链接:http://t.cn/Ro5ro7f备注:校友捐赠行为分析等 8.网站:百度难度:简单任务:输入关键词获取新闻量(例如:上市公司名称+董事长姓名+年份)链接:http://t.cn/hcB04备注:衡量舆论或媒体关注等 9.网站:香港美联地产网难度:简单任务:获取香港二手房历史成交记录链接:http://t.cn/RpZUQbw备注:香港房地产市场相关研究,官方途径购买账号使用该数据需2.5万港币一年 10.网站:中国土地市场网难度:中等,以post方式请求网页任务:获取县级土地交易信息链接:http://t.cn/R4hycIz备注:房地产、就业等研究 11.网站:Weather Underground难度:中等任务:获取城市日度天气条件数据链接:http://t.cn/RotvoUS备注:使用天气数据研究相关问题 12.网站:交通安全综合服务管理平台难度:中等,需要会抓包任务:获取各城市电子警察信息链接:http://t.cn/R4WRIso备注:城市经济学的研究 13.网站:中国各地最低工资难度:困难,需要会抓包任务:获取全国区/县级最低工资链接: http://t.cn/RpZUgN8备注:最低工资的科学制定,劳动经济学相关课题 14.网站:淘宝网难度:困难,动态网页,需要登录任务:获取买家评论信息链接:http://t.cn/RxRSn3i备注:消费者行为、信誉评价机制的研究 15.网站:京东网难度:困难,动态网页,需要登录任务:获取买家评论信息链接:http://t.cn/zWkhqc7备注:消费者行为、信誉评价机制的研究 16.网站:大众点评难度:困难任务:获取消费者点评信息链接:http://t.cn/hVxW9备注:消费者行为、信誉评价机制的研究 其他抓过的网站因涉及到相关老师正在进行的科研项目,暂不公布更多的网站,更多的数据,等你来抓!
本文来自凤凰号,仅代表凤凰号自媒体观点。
用微信扫描二维码
分享至好友
用微信扫描二维码
分享至朋友圈
凤凰争鸣微信号
来点暖心的!扫这里8177人阅读
数据挖掘(16)
Python基础知识(18)
&&&&&&& 前面一直强调Python运用到网络爬虫方面非常有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简单介绍下Python是如何爬去网络数据的,文章知识非常简单,但是也分享给大家,就当简单入门吧!同时只分享知识,希望大家不要去做破坏网络的知识或侵犯别人的原创型文章.主要包括:
&&&&&&& 1.介绍爬取CSDN自己博客文章的简单思想及过程
&&&&&&& 2.实现Python源码爬取新浪韩寒博客的316篇文章
一.爬虫的简单思想
&&&&&最近看刘兵的《Web数据挖掘》知道,在研究信息抽取问题时主要采用的是三种方法:
&&&&&&& 1.手工方法:通过观察网页及源码找出模式,再编写程序抽取目标数据.但该方法无法处理站点数量巨大情形.
&&&&&&& 2.包装器归纳:它英文名称叫Wrapper Induction,即有监督学习方法,是半自动的.该方法从手工标注的网页或数据记录集中学习一组抽取规则,从而抽取具有类&#20284;&#26684;式的网页数据.
&&&&&&& 3.自动抽取:它是无监督方法,给定一张或数张网页,自动从中寻找模式或语法实现数据抽取,由于不需要手工标注,故可以处理大量站点和网页的数据抽取工作.
&&&&&&& 这里使用的Python网络爬虫就是简单的数据抽取程序,后面我也将陆续研究一些Python&#43;数据挖掘的知识并写这类文章.首先我想获取的是自己的所有CSDN的博客(静态.html文件),具体的思想及实现方式如下:
第一步 分析csdn博客的源码
&&&&&&& 首先需要实现的是通过分析博客源码获取一篇csdn的文章,在使用IE浏览器按F12或Google Chrome浏览器右键&审查元素&可以分析博客的基本信息.在网页中链接了作者所有的博文.
&&&&&&& 显示的源码&#26684;式如下:
&&&&&&& 其中&diw class=&list_item article_item&&..&/div&表示显示的每一篇博客文章,其中第一篇显示如下:
&&&&&&& 它的具体html源代码如下:
&&&&&&& 所以我们只需要获取每页中博客&div class=&article_title&&中的链接&a href=&/eastmount/article/details/&&,并增加即可.在通过代码:
import urllib
content = urllib.urlopen(&http://blog.csdn.net/eastmount/article/details/&).read()
open(&#39;test.html&#39;,&#39;w+&#39;).write(content)
&&&&&&& 但是CSDN会禁止这样的行为,服务器禁止爬取站点内容到别人的网上去.我们的博客文章经常被其他网站爬取,但并没有申明原创出处,还请尊重原创.它显示的错误&403 Forbidden&.
&&&&&&& PS:据说模拟正常上网能实现爬取CSDN内容,读者可以自己去研究,作者此处不介绍.参考(已验证):
第二步 获取自己所有的文章
&&&&&&& 这里只讨论思想,假设我们第一篇文章已经获取成功.下面使用Python的find()从上一个获取成功的位置继续查找下一篇文章链接,即可实现获取第一页的所有文章.它一页显示的是20篇文章,最后一页显示剩下的文章.
&&&&&&&&那么如何获取其他页的文章呢?
&&&&&&&&我们可以发现当跳转到不同页时显示的超链接为:
第1页 http://blog.csdn.net/Eastmount/article/list/1
第2页 http://blog.csdn.net/Eastmount/article/list/2
第3页 http://blog.csdn.net/Eastmount/article/list/3
第4页 http://blog.csdn.net/Eastmount/article/list/4
&&&&&&& 这思想就非常简单了,其过程简单如下:
&&&&&&& for(int i=0;i&4;i&#43;&#43;)&&&&&&&&&&&&&&& //获取所有页文章
&&&&&&&&&&&&&&& for(int j=0;j&20;j&#43;&#43;)&&&&& //获取一页文章 注意最后一页文章篇数
&&&&&&&&&&&&&&&&&&&&&&&&GetContent();&&&&&& //获取一篇文章&主要是获取超链接
&&&&&&& 同时学习过通过正则表达式,在获取网页内容图片过程中&#26684;外方便.如我前面使用C#和正则表达式获取图片的文章:
二.爬取新浪博客
&&&&&&& 上面介绍了爬虫的简单思想,但是由于一些网站服务器禁止获取站点内容,但是新浪一些博客还能实现.这里参照&51CTO学院 智普教育的python视频&获取新浪韩寒的所有博客.
&&&&&&& 地址为:
&&&&&&&&采用同上面一样的方式我们可以获取每个&div class=&articleCell SG_j_linedot1&&..&/div&中包含着一篇文章的超链接,如下图所示:
&&&&&&& 此时通过Python获取一篇文章的代码如下:
import urllib
content = urllib.urlopen(&.cn/s/blog_2eo83.html&).read()
open(&#39;blog.html&#39;,&#39;w+&#39;).write(content)
&&&&&&&&可以显示获取的文章,现在需要获取一篇文章的超链接,即:
&&&&&&& &a title=&《论电影的七个元素》——关于我对电影的一些看法以及《后会无期》的一些消息& target=&_blank& href=&&&《论电影的七个元素》——关于我对电…&/a&
&&&&&&&&在没有讲述正则表达式之前使用Python人工获取超链接http,从文章开头查找第一个&&a title&,然后接着找到&href=&和&.html&即可获取&&.代码如下:
#&a title=&..& target=&_blank& href=&http://blog.sina...html&&..&/a&
#coding:utf-8
con = urllib.urlopen(&.cn/s/articlelist__0_1.html&).read()
title = con.find(r&#39;&a title=&#39;)
href = con.find(r&#39;href=&#39;,title)
#从title位置开始搜索
html = con.find(r&#39;.html&#39;,href)
#从href位置开始搜素最近html
url = con[href+6:html+5]
#href=&共6位 .html共5位
print &#39;url:&#39;,url
url: .cn/s/blog_2eohi.html
&&&&&&& 下面按照前面讲述的思想通过两层循环即可实现获取所有文章,具体代码如下:
#coding:utf-8
import urllib
import time
while page&=7:
url=[&#39;&#39;]*50
#新浪播客每页显示50篇
temp=&#39;.cn/s/articlelist__0_&#39;+str(page)+&#39;.html&#39;
con =urllib.urlopen(temp).read()
title=con.find(r&#39;&a title=&#39;)
href=con.find(r&#39;href=&#39;,title)
html = con.find(r&#39;.html&#39;,href)
#循环显示文章
while title!=-1 and href!=-1 and html!=-1 and i&50:
url[i]=con[href+6:html+5]
print url[i] #显示文章URL
#下面的从第一篇结束位置开始查找
title=con.find(r&#39;&a title=&#39;,html)
href=con.find(r&#39;href=&#39;,title)
html = con.find(r&#39;.html&#39;,href)
print &#39;end page=&#39;,page
#下载获取文章
while(j&i):
#前面6页为50篇 最后一页为i篇
content=urllib.urlopen(url[j]).read()
open(r&#39;hanhan/&#39;+url[j][-26:],&#39;w+&#39;).write(content) #写方式打开 +表示没有即创建
time.sleep(1)
print &#39;download&#39;
page=page+1
print &#39;all find end&#39;
&&&&&&&&这样我们就把韩寒的316篇新浪博客文章全部爬取成功并能显示每一篇文章,显示如下:
&&&&&&& 这篇文章主要是简单的介绍了如何使用Python实现爬取网络数据,后面我还将学习一些智能的数据挖掘知识和Python的运用,实现更高效的爬取及获取客户意图和兴趣方面的知识.想实现智能的爬取图片和小说两个软件.
&&&&&&& 该文章仅提供思想,希望大家尊重别人的原创成果,不要随意爬取别人的文章并没有含原创作者信息的转载!最后希望文章对大家有所帮助,初学Python,如果有错误或不足之处,请海涵!
&&& (By:Eastmount
中午11点&原创CSDN&)
&&&&&&&&参考资料:
&&&&&&& 1.<span style="color:#CTO学院 智普教育的python视频
&&&&&&& <span style="color:#.《Web数据挖掘》刘兵著
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1879587次
积分:19262
积分:19262
排名:第493名
原创:258篇
转载:10篇
评论:1409条
作者:杨秀璋
学历:本科-北京理工大学
&&&&&&&&&&&硕士-北京理工大学
现任教于贵财财经大学信息学院
简介:自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授给自己的学生,帮助更多陌生人。
贵州纵美路迢迢,
为负劳心此一遭。
收得破书三四本,
也堪将去教尔曹。
娜美人生,醉美生活。
他和她经历风雨,慢慢变老。
文章:13篇
阅读:91925
文章:12篇
阅读:67173
文章:38篇
阅读:373207
文章:31篇
阅读:343976
文章:18篇
阅读:161207
文章:12篇
阅读:75529
文章:19篇
阅读:159699
文章:16篇
阅读:96684
文章:20篇
阅读:129215
文章:13篇
阅读:96022
(1)(2)(1)(1)(4)(3)(2)(4)(11)(2)(1)(2)(10)(9)(5)(3)(3)(2)(3)(4)(2)(3)(5)(5)(6)(11)(20)(6)(3)(5)(13)(5)(7)(7)(5)(7)(8)(9)(3)(2)(1)(1)(6)(3)(6)(5)(7)(1)(1)(1)(10)(4)(6)(3)(4)(2)(2)
【算法知识】
【C# .NET】
【游戏开发】
【Android】
【正能量&导师】
【图形&视频处理】
【各种知识】
【数据挖掘】
【.NET MF&嵌入式】
【架构&模式】
【操作系统】
【IOS开发】
【CSDN扫地僧】}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信