python爬虫成果_Python爬虫(小练习)
近日,在浏览伯乐在线(http://blog.jobbole.com/29281/)的时候碰到一些很不错的资源:25本免费的Python电子书
如下图:
其中,每本都是以名字+超链接的方式,于是激起了我写个小程序保存这些资源的欲望,顺便也能练习一些不太熟练的小爬虫 : ) 。 好了,我们开始吧!
先展示一下成果给大家看嗯: 如图
每本书都很有条理的保存在本地文档中,结果还是挺满意的哈。
首先呢 要完成这些工作大概要分为一下几个步骤:
1. 获得整个页面的源代码 (网页源码HTML)
2. 获得目标区域的源代码 (缩小范围)
3. 在小范围内匹配资源的URL
4. 将匹配到的资源URL写入到本地保存
下面,将分为4个步骤来分部展示Python程序
第一,获得整个页面的源代码:
1 defgetHtml(url):2 html =urllib.urlopen(url)3 sorce =html.read()4 return sorce
该段代码将返回资源所在的整个页面的HTML源代码
第二,获得目标区域的源代码 (缩小范围):
1 defgetRange(content):2 start0 = content.find(r'
- ',start0)4 end = content.find(r'
第三,匹配资源的URL:
1 defgetLink(content2):2 reg = re.compile(r'(.*?)')8 result2 =reg.findall(content2)9 return result2
以上俩个函数分别用来匹配资源的 链接 和 书名
第四,保存到本体:
即是在print 的基础上从定向到文件中。详见下面的完整代码 : )
下面是完整代码:
1 #!/usr/bin/env python
2 #coding:utf-8
3
4 importurllib5 importre6
7 defgetHtml(url):8 html =urllib.urlopen(url)9 sorce =html.read()10 returnsorce11
12 defgetRange(content):13 start0 = content.find(r'
- ',start0)15 end = content.find(r'
19 defgetLink(content2):20 reg = re.compile(r'(.*?)')26 result2 =reg.findall(content2)27 returnresult228
29 if __name__ == '__main__':30 content = getHtml(r'http://blog.jobbole.com/29281/')31 content2 =getRange(content)32 link =getLink(content2)33 name =getName(content2)34 i = 1
35 f = open('content.txt','w+')36 for x, y inzip(name, link):37 print >>f, str(i),":",x,38 print >>f39 print >>f,y40 i = i + 1
看到这里您辛苦了,谢谢 : )
—————————————————————————————————————————————————————————————————————————————
声明:
本文为 大Yi巴狼 对自己所学的知识整理和实现。
本文档欢迎自由转载,但请务必保持本文档完整或注明来之本文档。本文档未经 大Yi巴狼 同意,不得用于商业用途。最后,如果您能从这个简单文档里获得些许帮助,大Yi巴狼 将对自己的一点努力感到非常高兴;由于作者本人水平有限,如果本文档中包含的错误给您造成了不便,在此提前说声抱歉。
祝身体健康,工作顺利。
python爬虫成果_Python爬虫(小练习)相关推荐
- python官网学习爬虫资料_Python爬虫学习?
1 爬虫是互联网上最常见的一种东西了吧. 爬虫这东西每天都在网上爬大量的信息,各大搜索引擎厂商每天都有上百万的爬虫在网络上活动,这些爬虫的作用就是给搜索引擎采集互联网上最新的内容,采集来的内容经过分类 ...
- python爬虫难点_Python爬虫技巧
在本文中,我们将分析几个真实网站,来看看我们在<用Python写网络爬虫(第2版)>中学过的这些技巧是如何应用的.首先我们使用Google演示一个真实的搜索表单,然后是依赖JavaScr ...
- python简单爬虫手机号_Python爬虫:大家用公共的手机号干了啥?
说明:本文所提供的思路和代码都只用于个人测试研究之用,并未对目标网站造成实质性干扰,而且全部细节已经全部告知网站开发者,也请大家不要用于恶意用途. 在我的微信公众号"免费的临时手机号,用这些 ...
- 花一千多学python值吗_Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下...
原标题:Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多, ...
- python流行的爬虫框架_Python爬虫相关框架
Python爬虫相关框架,Python的爬虫框架就是一些爬虫项目的半成品.比如我们可以将一些常见爬虫功能的实现代码写好,然后留下一些接口,在做不同的爬虫项目时,我们只需要根据实际情况,只需要写少量需要 ...
- python数据入库_python爬虫(中)--数据建模与保存(入库)
前言 前面,讲的是提取出来的数据保存进一个extracted_data,再保存进extracted_data_,变成一个list包含list的情况,当然你只提取一项,那就没有必要这么做了,可是我的项目 ...
- python电影爬虫背景介绍_python爬虫-爬虫电影八佰词云
#数据获取 importrequestsimportreimportcsvimportjiebaimportwordcloud#通过循环实现多页爬虫#观察页面链接规律#https://movie.do ...
- python爬虫代理服务器_Python爬虫之服务器:代理IP万能
最近很多同学租服务器用来学习爬虫,对于大部分小白来说,爬虫非常复杂.技术门槛很高.但我们可以通过爬虫获取大量的价值数据,经分析可以发挥巨大的价值,比如:豆瓣.知乎,爬取优质答案,筛选出各话题下热门内容 ...
- python爬虫要点_Python爬虫知识点梳理
学任何一门技术,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,在你准备学爬虫前,先问问自己为什么要学习爬虫.有些人是为了一份工作,有些 ...
最新文章
- 位操作-按位与之如何求二进制数的1个数
- CentOS 7系统安装配置图文详解
- vim C plugins
- 10种常用降维算法源代码(python)
- 【PostgreSQL+PostGIS离线安装】2天的踩坑及问题解决经验分享(含安装文件postgresql-9.5.9+postgis-2.2.3+多个依赖及测试SQL)
- Mongodb 分片与副本集
- php email 发送,php 发送 Email
- 判断String为空 StringUtils工具 isNotEmpty与isNotBlank区别
- 【kafka】kafka 消费组 加入 离开 reblance 案例
- D3 Handling Events
- SpringMVC中接收数据和返回数据
- 关于JS !!flag 语法
- SQL Server 2005全文检索技术
- python-pygame安装教程
- 参考文献标引方式_论文中参考文献标注方法有哪些?
- apiCloud实现微信分享功能
- Chatty登录测试
- 量子计算 4 超光速信息传播?密度矩阵与混合态
- 【第67期】2021上半年朋友圈都在传的10本书都在这了
- 【Linux 从入门到精通】第一篇 常见指令及初识权限
热门文章
- 你还不知道 Eureka 和 zookeeper 的区别吗?
- 重新精读《Java 编程思想》系列之向上转型与向下转型
- python counter函数定义_分享几个自己常用的Python高级函数
- openssh无法登录:server responded algorithm negotiation failed”
- sonarqube下安装mysql数据库_本地安装SonarQube之一——win7环境安装mysql
- mac u盘文件过大 拷贝不进去_使用mac时文件太大无法拷贝怎么办
- java 对象的属性_java-更新对象属性
- python安装包_Python开发环境搭建
- 初识python教学反思_[python第一课]初识python
- c语言中void delay0.5(),单片机彩灯是怎样点亮