爬虫简介
根据百度百科定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
随着大数据的不断发展,爬虫这个技术慢慢走入人们的视野,可以说爬虫是大数据应运而生的产物,至少我解除了大数据才了解到爬虫这一技术
随着数据的海量增长,我们需要在互联网上选取所需要的数据进行自己研究的分析和实验。这就用到了爬虫这一技术,下面就跟着小编一起初遇python爬虫!
一、请求-响应
在利用python语言实现爬虫时,主要用到了urllib和urllib2两个库。首先用一段代码说明如下:
1
2
3
4
5
6
|
import urllib import urllib2 url = "http://www.baidu.com" request = urllib2.Request(url) response = urllib2.urlopen(request) print response.read() |
我们知道一个网页就是以html为骨架,js为肌肉,css为衣服所构成的。上述代码所实现的功能就是把百度网页的源码爬取到本地。
其中,url为要爬取的网页的网址;request发出请求,response是接受请求后给出的响应。最后用read()函数输出的就是百度网页的源码。
二、GET-POST
两者都是向网页传递数据,最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。
POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。
POST方式:
1
2
3
4
5
6
7
8
|
import urllib import urllib2 values = { 'username' : '2680559065@qq.com' , 'Password' : 'XXXX' } data = urllib.urlencode(values) url = 'https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn' request = urllib2.Request(url,data) response = urllib2.urlopen(request) print response.read() |
GET方式:
1
2
3
4
5
6
7
8
9
|
import urllib import urllib2 values = { 'username' : '2680559065@qq.com' , 'Password' : 'XXXX' } data = urllib.urlencode(values) url = "http://passport.csdn.net/account/login" geturl = url + "?" + data request = urllib2.Request(geturl) response = urllib2.urlopen(request) print response.read() |
三、异常处理
处理异常时,用到了try-except语句。
1
2
3
4
5
|
import urllib2 try : response = urllib2.urlopen( "http://www.xxx.com" ) except urllib2.URLError,e: print e.reason |
总结
以上所述是小编给大家介绍的python爬虫基本知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/zhenpengwang/p/8505860.html