Python爬虫学习之路(3) --requests库
2019-04-02 20:32
232 查看
本来一开始是学习的urllib这个库,但后来学requests后发现后者不仅更加简单,功能也更加强大,所以这里只做requests的笔记。
Requests 库
准备工作:
在pycharm中安装requests库。使用pycharm后发现添加库异常简单。只需要以下几个步骤:File—Settings—Project:(你创建文件的名字)—Project Interpreter–点击右侧的+号就能搜索添加了。
这里记录当时自己遇到的几个问题:(1)建立的项目名和文件名不能与库名重复,否则会报错。(2)注意选择Project Interpreter中上方的Projict Interpreter中的选项。因为我每次新建立一个项目都会出现一个新的Interpreter,并且太多也会报错,要及时把没用的删除。
基本用法
- get方式请求
import requests r = requests.get(' https://baidu.com/') #输入要请求的网址 print(type(r)) #r的类型<class 'str'> print(r.status_code) #状态码 print(r.text) #网页的文本 print(r.cookie) #cookie
这里推荐一个可以练习爬虫的好网站`:http://httpbin.org
下面写出get较为综合的代码,具体功能见注释:
import requests #请求头的‘User-Agent’,功能在上节有记录,随便打开一个网页的Request Headers 中都有,每台电脑应该不一样,这个在爬取的时候很重要,很重要,很重要. 当然,这里也可以以字典的形式加入Cookie,Host等原有请求头内容。 headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/527.36 (KHTML, like Gecko) /71.0.3568.98 Safari/537.36' } #数据,以字典形式存放,如果换成url的话,是等价于这样的: http://httpbin.org/get?name=gulaiyue&age=22' data ={ 'name' :'gulaiyue', 'age':'22 } #代理设置 proxies={ "http":"http://XXXXXXX", "https":"http://XXXXXXX" } #超时设置 timeout = 1 #秒 r=requests.get('http://httpbin.org/get",params=data,headers=headers,proxies=proxies,timeout = timeout) print(r.text) #这里注意如果type(r.text)为str类型的话,需要print(r.json()), 这样会返回一个字典类型。
这里推荐一个搜代理的网站西刺免费代理IP,有的不管用,可以多试几个。
r.text 如果输出是乱码的话,可以试一下r.content.decode(‘utf-8’).
2.Post 方式请求
这个比较简单(我目前觉得),直接上代码。
import requests data = {'name' : 'germay' ,'age': '22'} r= requests.post("http://httpbin.org/post",data=data) print(r.text)
自己试一下,结果会出现在"form"中。
进阶使用
1.Session 会话维持
大体意思就是如果你登陆了一个界面,下一次登陆时浏览器可能会保留你的Cookie值,而想用爬虫做到这一点,用get()是不行的。所以改用Session.
import requests s=requests.Session() s.get('http://httpbin.org/cookies/set/number/12345') r = s.get('http://httpbin.org/cookies') print(r.text) #会发现原有的cookie保留了下来
相关文章推荐
- Python爬虫学习一——requests库
- python爬虫学习之路(1)_ CSDN网站的模拟登陆
- python爬虫Requests库:学习心得
- python爬虫学习笔记——使用requests库编写爬虫(1)
- [python爬虫学习] requests库的使用
- 【python爬虫学习笔记】02 requests库入门
- 【python爬虫学习笔记】03 requests库爬取的简单实例以及robots协议
- 学习Python爬虫(三):Requests库入门级使用
- python爬虫学习之路(2)_ 淘宝淘女郎相册打包下载
- python——爬虫学习——requests库的使用-(1)
- Python爬虫学习之路(4)--数据存储之关系型数据库存储mysql
- python 爬虫学习之路
- Python学习之路 (二)爬虫(一)
- python爬虫学习之路(6)--数据存储之文件存储(txt,json,csv)
- python爬虫学习笔记1:requests库及robots协议
- Python学习之路 (三)爬虫(二)
- python爬虫学习---Requests库的使用
- Python学习之路 (四)爬虫(三)HTTP和HTTPS
- python爬虫学习第二天,利用BeautifulSoup库和Requests库爬取网站
- Python学习之路 (五)爬虫(四)正则表示式爬去名言网