python爬虫Pragmatic系列I
来源:互联网 发布:ubuntu tm 编辑:程序博客网 时间:2024/06/06 05:37
python爬虫Pragmatic系列I
By 白熊花田(http://blog.csdn.net/whiterbear)
说明:
我将在这个系列介绍如何利用python写一个爬虫,并用爬虫去做一些有实际意义的事情,be pragmatic.
最终目标:
抓取赶集网上担保公司的信息,分析统计后保存到excel中。
下载赶集网上每一家担保公司的信息,记录公司的名称,联系电话,服务范围等基本信息并保存到Excel中。
本次目标:
学习如何下载一个网页并进行简单的分析。
下载网页:
下载百度首页(未登录状态下)。其中的python基础知识学习可以点这里:Python入门,python的urllib学习可以点击这里:urllib中函数的用法,文件读写学习可以点击这里:python文件读写。
代码:
# -*-coding:UTF-8 -*-from urllib import urlretrievedef getWebPage(url): ''' 根据给定的url下载网页到本地 ''' try: ''' urlretrieve函数会将url定位的网页下载到临时文件中 ''' revtal = urlretrieve(url)[0] except IOError: revtal = None if revtal:#如果revtal不为空的话,说明网页下载成功了,那么我们就可以去处理它了 saveWebPage(revtal) def saveWebPage(webpage): ''' 将下载的网页保存到file.txt文件中 ''' f = open(webpage)#将下载的临时文件打开 lines = f.readlines()#将下载的网页信息保存到lines中 f.close()#关闭文件对象 fobj = open("file.txt",'w')#以写的方式打开file.txt,如果file.txt不存在,那么将创建一个 fobj.writelines(lines)#将网页信息写入file.txt中 fobj.close()#关闭文件对象if __name__ == '__main__': getWebPage(url='http://www.baidu.com')
运行结果:
产生一个91kb大小的baidu.txt文件,文件内容为百度首页html代码。
解析网页:
解析网页需要用到python的re模块,即正则表达式模块。你可以点击正则表达式30分钟入门这里学习正则表达式,点击re模块函数学习正则表达式在python中的使用。
百度首页(未登录状态下)上有着“新闻”,“hao123”,“地图”,“视频”,“贴吧”这样五个链接。我们设法取出这五个链接的值。
代码:
# -*- coding:utf-8 -*-import redef getNames():'''取出百度首页的五个链接值'''f = open("baidu.txt",'r')#打开刚刚获取的百度首页文件lines = f.readlines()#将文件内容读取到lines中f.close()#关闭文件对象p = r'\bclass="mnav">(.*?)<'#匹配链接值的正则表达式,括号部分是我们要取出的分组#我们对每一行进行正则表达式查找,只有一行有,如果返回的list不为空,说明找到了for line in lines:if re.findall(p,line) <> []:result = re.findall(p,line)#我们打印出来看看for word in result:print word,if __name__ == '__main__':getNames()
运行结果:
未完待续。
0 0
- python爬虫Pragmatic系列I
- python爬虫Pragmatic系列II
- python爬虫Pragmatic系列III
- python爬虫Pragmatic系列IV
- Python爬虫Csdn系列I
- python 爬虫系列
- python爬虫系列
- Python爬虫系列:1
- python爬虫系列文章
- Python爬虫学习系列
- Python爬虫系列博客
- Python 爬虫系列教程
- Python爬虫系列:开端
- Python爬虫系列教程
- python:爬虫系列-01
- python:爬虫系列-02
- python爬虫系列一
- python爬虫系列二
- Spring中@Transactional用法深度分析之一
- C++学习笔记:文件输入和输出
- Flex Logging
- OpenStack及其构成简介(转)
- 分支-15. 日K蜡烛图(15)
- python爬虫Pragmatic系列I
- 关于在 Android EditText 控件 中过滤空格或其他字符
- android编译错误“OnClickListener cannot be resolved to a type”解决方案
- ANDROID TEXTVIEW 设置字体颜色
- linux基础教程(6)软件安装和开源业管理
- 第3周项目1三角形类1
- 【Android UI设计】之自定义计时器
- Flex 使用ArrayCollection的FilterFunction进行数据过滤
- jsp扫描仪编程示例程序源代码下载