网络爬虫基础(二)
2016-10-28 11:14
148 查看
例子:
importurllib2response= urllib2.urlopen("http://www.baidu.com")
printresponse.read()
•urlopen(url, data,
timeout)
–第一个参数url即为URL
–第二个参数data
是访问URL
时要传送的数据
–第三个timeout是设置超时时间
–返回response对象
•read
方法,可以返回获取到的网页内容
例子:
importurllib2request= urllib2.Request("http://www.baidu.com")
response= urllib2.urlopen(request)
printresponse.read()
•上面的urlopen参数可以传入一个request
请求(其实就是一个Request类的实例)
Http定义了不服务器交互的不同方式
––GET[获取/查询]•GET
方式是直接以链接形式访问,链接中包吨了所有的参数
––POST[更新]
•POST把提交的数据则放置在是HTTP包的包体中
––PUT[增加]
不DELETE[删除] <略>
例子(POST):
––importurllib
––import
urllib2
––values
= {"username":“zhangsan@gmail.com","password":“xxx"}
––data
= urllib.urlencode(values)
––url="https://passport.csdn.net/account/login?xxx=yyyy"
––request
= urllib2.Request(url,data)
––response
= urllib2.urlopen(request)
response.read()
Headers设置
––User-Agent: 部分服务器戒Proxy
会通过该值来判断是否是浏览器发出的请求
很多网页不允许非浏览器访问,爬虫的时候要伪装成浏览器,就通过User-Agent来设置。
––Content-Type
: 在使用REST
接口时,服务器会检查该值,用来确定HTTP Body
中的内容该怎样解析。
––application/xml
:在XML RPC,如RESTful/SOAP
调用时使用
––application/json:在JSON
RPC 调用时使用
––application/x-www-form-urlencoded:浏览器提交Web
表单时使用
Urllib不urllib2之
间的区别
––urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你丌可以伪装你的UserAgent字符串等
––urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因
Urllib中的urlencode函数
,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串
例子:
importurllibimporturllib2
url='http://www.zhihu.com/login'
user_agent='Mozilla/5.0 (compatible; MSIE 5.5; Windows NT)' values = {'username'
:‘Lee',
'password' : 'XXXX' }
headers= { 'User-Agent' : user_agent}
data =urllib.urlencode(values)
request= urllib2.Request(url, data, headers)
response= urllib2.urlopen(request)
page =response.read()
相关文章推荐
- 【搜索引擎基础知识2】网络爬虫的介绍
- 【搜索引擎基础知识2】网络爬虫的介绍
- 网络爬虫之java基础(Ⅰ)
- 网络爬虫之java基础(Ⅰ) 标签: java网络爬虫
- URLConnection,HttpURLConnection 使用总结 - 网络爬虫基础版
- 大数据实战课程第一季Python基础和网络爬虫数据分析
- Python--网络爬虫之基础篇
- Python网络爬虫基础知识学习
- python网络爬虫基础(2)--Beautiful Soup库
- 【搜索引擎基础知识2】网络爬虫的介绍
- 网络爬虫之基础
- 黑马程序员——JAVA基础之正则表达式,网络爬虫
- ①网络爬虫基础知识
- 网络爬虫基础!
- 【搜索引擎基础知识2】网络爬虫的介绍
- 网络爬虫基础知识碎碎念
- 【搜索引擎基础知识2】网络爬虫的介绍
- 零基础写java网络爬虫-百度
- 大数据实战课程第一季Python基础和网络爬虫数据分析