写网络爬虫学python(一)
来源:互联网 发布:tushare 分笔数据 编辑:程序博客网 时间:2024/04/27 11:07
网络爬虫是一个抓取网页的程序。网络爬虫(蜘蛛)是通过网页的链接地址来寻找网页,从网站某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络爬虫(蜘蛛)就可以用这个原理把互联网上所有的网页都抓取下来。
网络爬虫是一个非常有用的工具。用功能强大的Python写爬虫程序,对于自己来说是一个很好的练习题目。
写一个爬虫程序,首先需要给程序输入一个入口地址,可以使用Python的urllib模块来下载网页并读取网页中的内容。然后通过文件操作将网页内容以.htm格式保存至本地。urllib模块可以使我们像读取本地文件一样读取www和ftp上的数据。
import urlliburl = "http://www.baidu.com"filename = "baidu.htm"f = urllib.urlopen(url)s = f.read()fp = file(filename,'w')fp.write(s)fp.close()
下一步我们需要分析获取到的字符串s中的内容,来获得入口网页中所指向的所有下一级链接地址。通常从html代码中获得超链接的方式有很多种,归根结底是字符串中对超链接标签的提取。在此简单介绍一种通过正则表达式获取超链接的方法。
import reurls = []url = re.findall(r'''<a(\s*)(.*?)(\s*)href(\s*)=(\s*)([\"\s]*)([^\"\')+?)([\"\s]+)(.*?)>''',s,re.S|re.I)for u in url: urls.append(u[6])
利用上边两个方法,我们便可以通过入口链接获得下一级链接,然后一直爬取下去,将所有爬取到的网页存储在本地。一个简单的爬虫功能的程序便可以用Python实现了。
下一节我们简单讨论如何加入多线程的使用来提高性能写网络爬虫学python(二)
- 写网络爬虫学python(一)
- 写网络爬虫学python(二)
- 学习python写网络爬虫(一)
- 用Python写网络爬虫系列(一)
- 【网络爬虫】【python】网络爬虫(一):python爬虫概述
- 学用python写爬虫(2)
- python网络爬虫(一)
- python网络爬虫(一)
- python网络爬虫(一)
- WSWP(用python写网络爬虫)笔记 一:实现简单爬虫
- 学习python写网络爬虫(二)
- 学习python写网络爬虫(三)
- 从零开始学python网络爬虫
- Python写爬虫技巧(一):总
- python 写爬虫 美女照片(一)
- 第一次写python--网络爬虫
- 用python写网络爬虫
- 用Python写网络爬虫
- Oracle数据库TNS常见错误解决方法
- Android中gravity与layout_gravity的区别
- Windows组件没有Internet信息服务(IIS)选项解决设置方法
- Web服务枚举组件不可用
- Apply program with ASN1051W in its log
- 写网络爬虫学python(一)
- LinearLayout布局方式
- JavaScript函数及其参数数组简介
- 在 Java 中把 .NET 使用 Convert.ToBase64String 转换出的 Base64 字符串还原成图片
- NET世界各成员之间的关系
- 我的android-4.1.1_r1下载-编译-ok
- eclipse使用技巧
- 数据结构--线性表、栈队列、树、图、哈希表
- USACO Section 1.2.2 Transformations