Python爬取一个基本的网页

来源:互联网 发布:洛瑟玛·塞隆 知乎 编辑:程序博客网 时间:2024/05/29 04:30

1. 简单网页

python扒网页主要根具URL来获取网页的内容。在python库中主要是urllib2起作用。
In [5]:import urllib2In[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 urllib2In[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

上面展示了基本的抓取,现在网页都是动态的,要求我们传递数据给他,比如登录CSDN的时候需要用户名和密码,而数据的传递有POST和GET两种方式。区别:POST不会在网址上显示所有的参数;GET直接以链接的形式访问,链接中包含了所有的参数,比如密码和用户名。
  • POST
import urllibimport urllib2values={}values['username']="xiaoming@qq.com"values['password']="1234567"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
import urllibimport urllib2values={}values['username'] = "xiaoming@qq.com"values['password']="123456"data = urllib.urlencode(values) url = "http://passport.csdn.net/account/login"geturl = url + "?"+datarequest = urllib2.Request(geturl)response = urllib2.urlopen(request)print response.read()
我们需要定义一个字典,名字为values,参数设置了username和password,利用urllib的urlencode方法将字典编码,命名为data.
0 0
原创粉丝点击