欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python爬虫之基本知识

程序员文章站 2022-04-03 23:36:48
随着数据的海量增长,我们需要在互联网上选取所需要的数据进行自己研究的分析和实验。这就用到了爬虫这一技术,下面就跟着小编一起初遇python爬虫! 一、请求-响应 在利用python语言实现爬虫时,主要用到了urllib和urllib2两个库。首先用一段代码说明如下: 我们知道一个网页就是以html为 ......

随着数据的海量增长,我们需要在互联网上选取所需要的数据进行自己研究的分析和实验。这就用到了爬虫这一技术,下面就跟着小编一起初遇python爬虫!

一、请求-响应

在利用python语言实现爬虫时,主要用到了urllib和urllib2两个库。首先用一段代码说明如下:

1 import urllib
2 import urllib2
3 
4 url="http://www.baidu.com"
5 request=urllib2.Request(url)
6 response=urllib2.urlopen(request)
7 print response.read()

我们知道一个网页就是以html为骨架,js为肌肉,css为衣服所构成的。上述代码所实现的功能就是把百度网页的源码爬取到本地。

其中,url为要爬取的网页的网址;request发出请求,response是接受请求后给出的响应。最后用read()函数输出的就是百度网页的源码。

二、GET-POST

两者都是向网页传递数据,最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。

POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。

POST方式:

1 import urllib
2 import urllib2
3 values={'username':'2680559065@qq.com','Password':'XXXX'}
4 data=urllib.urlencode(values)
5 url='https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn'
6 request=urllib2.Request(url,data)
7 response=urllib2.urlopen(request)
8 print response.read()

GET方式:

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 import urllib2
2 
3 try:
4     response=urllib2.urlopen("http://www.xxx.com")
5 except urllib2.URLError,e:
6     print e.reason

通过上述的介绍及代码展示,我们已经初步认识了爬虫过程,希望对大家有所帮助。