标签:encode sts 最好 load 间隔 tin content data 分享
以前也接触过爬虫方面的知识,但是总体感觉写爬虫的话,最好使用python,因为python有很多数据采集方面的库,
此外python这面语言使用起来比较简洁易读,在采集的过程中,维护起来也比较方便!
首先来几个简单的数据采集:
import requests
req=requests.get("http://www.baidu.com")
print req.content
这个相当于简单的http的get 请求!
import urllib
req=urllib.urlopen("http://www.baidu.com")
print req.read()
这个相当于简单的爬虫
import requests,json
url="http://www.baidu.com/login"
payload={‘username‘:‘admin‘,‘pwd‘:‘mima123‘}
req=requests.get(url,data=json.dumps(payload))
print req.content
这个是带有参数的http的get请求返回的结果是登录成功界面的html,或者是登录失败界面的html
import requests,time,urllib
req1=requests.get("http://www.baidu.com")
print req1.content
time.sleep(5) #---------5秒之后在进行下一步
req2=requests.get("http://www.sougou.com")
print req2.content
time.sleep(5) #---------5秒之后在进行下一步
req3=urllib.urlopen()
总是多个简单的网页爬取,中间有5秒的时间间隔
import urllib,urllib2
url = ‘https://api.douban.com/v2/book/user/ahbei/collections‘
data={‘status‘:‘read‘,‘rating‘:3,‘tag‘:‘小说‘}
data=urllib.urlencode(data)
req=urllib2.Request(url,data)
res=urllib2.urlopen(req)
print res.read()
这是一个标准的post请求,但是由于多次访问该网站,很容易ip被封
import urllib,urllib2
url = ‘https://api.douban.com/v2/book/user/ahbei/collections‘
data={‘status‘:‘read‘,‘rating‘:3,‘tag‘:‘小说‘}
data=urllib.urlencode(data)
req=url+‘?‘+data #----------------与上面的post请求不同
res=urllib2.urlopen(req)
print res.read()
这是一个带有参数的get请求
import urllib,urllib2
body_json{
}
req=urllib2.Request("http://www.baidu.com/login",data=urllib.urlencode(body_json))
res=urllib2.urlopen(req)
print res.read()
这是一个带有body部分的post请求
今天就分享这些了,下次多分享一些关于python爬虫与接口相关文章
标签:encode sts 最好 load 间隔 tin content data 分享
原文地址:http://www.cnblogs.com/111testing/p/6031905.html