Python爬取一个基本的网页

本文介绍了使用Python进行网页抓取的基本方法,包括通过URL获取网页内容、使用urllib2库发送GET和POST请求等。同时对比了GET和POST请求的区别,并提供了具体的代码示例。

1. 简单网页

python扒网页主要根具URL来获取网页的内容。在python库中主要是urllib2起作用。
In [5]:import urllib2
In[6]:response=urllib2.urlopen("http://vip.stock.finance.sina.com.cn/corp/go.php/vFD_FinanceSummary/stockid/600000.phtml")
In [7]: print response.read()

运行的结果
此外还可以把上面的urlopen的参数传给一个request,效果是一样。

In [12]: import urllib2
In[12]:request=urllib2.Request("http://quotes.money.163.com/f10/zycwzb_600000.html#01c02")
In [12]: response=urllib2.urlopen(request)
In [12]: print response.read()   
这里urlopen库的具体用法为:
 urlopen(url, data, timeout)
第一个是URL,第二个是访问URL要传的数据(比如用户名和密码),第三个是设置超时时间。后两个参数可以不写。

2.POST和GET

上面展示了基本的抓取,现在网页都是动态的,要求我们传递数据给他,比如登录优快云的时候需要用户名和密码,而数据的传递有POST和GET两种方式。
区别:POST不会在网址上显示所有的参数;GET直接以链接的形式访问,链接中包含了所有的参数,比如密码和用户名。
  • POST
import urllib
import urllib2
values={}
values['username']="xiaoming@qq.com"
values['password']="1234567"
data = urllib.urlencode(values) 
url = "https://passport.youkuaiyun.com/account/login?from=http://my.youkuaiyun.com/my/mycsdn"
request = urllib2.Request(url,data)
response = urllib2.urlopen(request)
print response.read()
  • GET
import urllib
import urllib2
values={}
values['username'] = "xiaoming@qq.com"
values['password']="123456"
data = urllib.urlencode(values) 
url = "http://passport.youkuaiyun.com/account/login"
geturl = url + "?"+data
request = urllib2.Request(geturl)
response = urllib2.urlopen(request)
print response.read()
我们需要定义一个字典,名字为values,参数设置了username和password,利用urllib的urlencode方法将字典编码,命名为data.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值