爬虫1

    按照百度百科的说法,网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它可以自动的抓取网络上的数据信息,抓取的形式是通过抓取URL来获取其网页信息。

    网络爬虫的工作十分简单,python中的urllib库提供了一系列用于操作url的功能,我们在抓取网页信息时实际上也就是调用urllib库中的各种函数来对网页进行操作。在Python中,有urllib和urllib2两种库用于网页url处理,从整体来说urllib2是urllib的增强,哪有人就会产生疑问了,既然有了urllib2了,那是不是urllib就没必要用了,答案是否定的,虽然urllib2可以看做是urllib的增强,但是urllib中有urllib2中没有的函数,因此这两个库一般是配合进行使用的。

    一个简单的网页抓取程序是由urlopen和request构成的,其实也很好理解,先对网页进行请求,然后使用open函数打开网页,最后读取网页信息。

通过上面的几行代码,就可以实现一个最基本的网页抓取操作,我们可以看到,抓取的内容就是一个html形式的网页内容。


现在大部分网页都是动态网页,因此就需要动态的传递参数给它,此种传递方式有两类方法:post和get

(1)post:不能在网址上反映出传递的参数,相对较为安全,但不方便直接查看提交了什么

使用post方式时,抓取方法基本与最基本的抓取方式相同,只不过在request时,要同时将要传入的数据传到request中

values = { "username" : "11111@126.com" , "password" : "111222" }
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 ( )

(2)get:直接在网址上就能反映出所传递的参数,但若传递中含有密码等信息,就非常不安全

get方式相当于在要request的url中加入要传入的数据,后面的抓取步骤与最基本的抓取方法相同,


values= {"username":"11111@126.com","password":"111222"}
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 ( )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值