作为一个数据科学家,从网络获取数据是必备的手段之一。今天来说一下使用Python来采集数据,虽然很多人更想叫它爬虫,但是本人更愿意叫网络数据采集。
下面说一下Python中Urllib库的基本使用。
在Python2.7中还有urllib2库,但是在Python3中,已经没有urllib2了,它们被整合到了一起成为urllib库。
先看一个简单的小栗子:
#coding:utf-8
import urllib2
# 构造Request
request = urllib2.Request("http://www.baidu.com")
response = urllib2.urlopen(request)
# read方法,可以返回获取到的网页内容
print response.read()
然后我们看一下GET和POST数据传送:
#coding:utf-8
import urllib
import urllib2
#GET数据传送,
values = {}
values['username'] = "xxxxx@163.com"
values['password'] = "********"
data = urllib.urlencode(values)
# 模拟登陆CSDN
url = "https://passport.csdn.net/account/login"
geturl = url + "?" + data
request = urllib2.Request(geturl)
response = urllib2.urlopen(request)
print response.read()
#下面是POST数据传输
#coding:utf-8
import urllib
import urllib2
# POST数据传送
# values = {}
# values['username'] = "xxxxxx@163.com"
# values['password'] = "********"
values = {"username":"xxxxxx@163.com","password":"********"}
data = urllib.urlencode(values)
# 模拟登陆CSDN
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()
注意:上面的xxxx和*****请替换成自己的用户名和密码。
希望通过上面的操作能帮助大家获取一些想要的数据。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。
如果想快速联系我,欢迎关注微信公众号:AiryData。
欢迎访问原文链接,查看更多内容。