网络爬虫是根据一定的规则自动的对网络信息进行抓取,为了对爬虫有更深的了解,学习爬虫前有必要先了解一下一个网页打开的完整过程,可以参考http://blog.csdn.net/saiwaifeike/article/details/8789624
接下来就是需要安装和了解常用的2个相关库,一个是urllib ,另一是BeautifulSoup。urllib是Python自带的标准库,不需要另外安装,而BeautifulSoup需要自己安装,可以通过pip或者easy_install来安装。可以直接命令行easy_install BeautifulSoup安装。
urllib分为几个子模块:urllib.request, urllib.parse, urllib.error。具体功能可以从名字得出。其中使用最频繁的是urllib.request中的urlopen,这个函数用来打开并获取从网络获取的远程对象。其他函数参考https://docs.python.org/3/library/urllib.html
这两个库配合使用就已经可以完成简单的爬虫任务了,我们以打开一个简单的网页为例:
http://www.heibanke.com/lesson/crawler_ex00/
我们用urlopen访问这个网页,然后用BeautifulSoup转换成BeautifulSoup对象,最后输出其中的<h1>标签中的文本,代码如下:
1 __author__ = 'f403' 2 #coding = utf-8 3 from urllib.request import urlopen 4 from bs4 import BeautifulSoup 5 html = urlopen("http://www.heibanke.com/lesson/crawler_ex00/") 6 bsobj = BeautifulSoup(html,"html.parser") 7 print(bsobj.h1)
运行脚本后输出结果为:
<h1>这里是黑板客爬虫闯关的第一关</h1>
小结:
urlopen完成访问远程网站以及读取的过程。
BeautifulSoup完成对html的转换,转换成BeautifulSoup结构: