python爬虫(3)
目录
十,将cookie对象保存为本地文件并读取
十一,URLError的使用
十二,requests库的使用
1,pip install requests
2,requests请求方法大全
3,requests的get方法使用
4,requests的post方法使用
5,requests代理proxy的使用方法
6,requests中请求方法的timeout参数
7,requests中session自动保存cookie
8,requests中忽略SSL验证
9,requests中response对象的一些方法简介
十,将cookie对象保存为本地文件并读取
from urllib.request import Request, build_opener, HTTPCookieProcessor
from fake_useragent import UserAgent
from http.cookiejar import MozillaCookieJarurl = 'https://www.baidu.com/s?wd=python'
headers = {'User-Agent': UserAgent().chrome,
}
def let_cookie_to_file():cookie = MozillaCookieJar() # 创建一个cookie对象,他会自动记录各种cookie信息req = Request(url=url, headers=headers, )opener = build_opener(HTTPCookieProcessor(cookiejar=cookie))resp = opener.open(req)cookie.save('cookie.txt', ignore_discard=True, ignore_expires=True) # 保存cookie对象print(resp.getcode())def get_cookie_from_file():cookie = MozillaCookieJar() # 创建一个cookie对象cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)req = Request(url=url, headers=headers, )opener = build_opener(HTTPCookieProcessor(cookiejar=cookie))resp = opener.open(req)print(resp.getcode())if __name__ == '__main__':# let_cookie_to_file()get_cookie_from_file()
十一,URLError的使用
URLError本质上是一个异常类。产生URLError的原因有:主机没有联网,服务器不存在,找不到服务器(实际上服务器存在)等。
from urllib.request import urlopen, Request
from fake_useragent import UserAgent
from urllib.error import URLErrorurl = 'http://gzsx.cooco.net.cn/tweest/'
url = 'http://jccndk.com'
headers = {'User-Agent': UserAgent().chrome,
}
req = Request(url=url, headers=headers)
try:resp = urlopen(req)print(resp.read().decode())
except URLError as e:print(e)if e.args:print(e.args[0].errno)else:print('错误404')
十二,requests库的使用
1,pip install requests
由于requests库是第三方库,需要pip安装。
2,requests请求方法大全
3,requests的get方法使用
例子1:
import requests
from fake_useragent import UserAgentheaders = {'User-Agent': UserAgent().chrome,
}def no_args():url = 'https://hao.360.com/?h_lnk'resp = requests.get(url=url)print(resp.text)def has_args(args: dict):url = 'https://www.baidu.com/?'resp = requests.get(url=url, params=args, headers=headers)print(resp.text)if __name__ == '__main__':# no_args()has_args({'wd': 'python'})
4,requests的post方法使用
例子1:
import requests
from fake_useragent import UserAgentheaders = {'User-Agent': UserAgent().chrome,
}args = {'searchword': '卫生'
}def get():url = 'https://www.21wecan.com/rcwjs/searchlist.jsp'resp = requests.post(url=url, headers=headers, data=args)print(resp.text)if __name__ == '__main__':get()
5,requests代理proxy的使用方法
例子1:
import requests
from fake_useragent import UserAgenturl = 'http://httpbin.org/get'
headers = {'User-Agent': UserAgent().chrome,
}
proxy = {# 格式:'type':'type://username:password@ip:port''http': 'http://183.239.38.216:9091'
}
resp = requests.get(url=url, headers=headers, proxies=proxy)
print(resp.text)
6,requests中请求方法的timeout参数
超过这个参数,则会报错。
resp = session.get(url=url, headers=headers, params={'wd': 'python'},timeout=5)
7,requests中session自动保存cookie
session的作用是保持一个持续的会话,在内存当中记录一个网址的cookie,以供后续代码使用。
import requestss = requests.Session()
# 用session对象发出get请求,设置cookies
resp = s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
print(resp.text)
8,requests中忽略SSL验证
细节在这里。
import requests
import warnings
from requests.packages import urllib3# 方式一:关闭警告
urllib3.disable_warnings()
warnings.filterwarnings("ignore")# 方式二,关闭证书,verify=False
res = requests.get(url="https://www.12306.cn",verify=False) #不验证证书,报警告,返回200
print(res.content.decode("utf-8"))s = requests.Session()
# 用session对象发出get请求,设置cookies
resp = s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
print(resp.text)
9,requests中response对象的一些方法简介
获取并保存cookie信息,需要使用response.cookie属性,他是一个字典。
python爬虫(3)相关推荐
- 关于Python爬虫原理和数据抓取1.1
为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数.阿里指数.TBI腾讯浏览指数.新浪微博指数 数据平台购买数据:数据堂.国云数据 ...
- python爬虫之Scrapy框架的post请求和核心组件的工作 流程
python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...
- python爬虫抓取信息_python爬虫爬取网上药品信息并且存入数据库
我最近在学习python爬虫,然后正好碰上数据库课设,我就选了一个连锁药店的,所以就把网上的药品信息爬取了下来. 1,首先分析网页 2,我想要的是评论数比较多的,毕竟好东西大概是买的人多才好.然后你会 ...
- python爬虫案例_推荐上百个github上Python爬虫案例
现在学生都对爬虫感兴趣,这里发现一些好的github开源的代码,分享给各位 1.awesome-spider 该网站提供了近上百个爬虫案例代码,这是ID为facert的一个知乎工程师开源的,star6 ...
- Python培训分享:python爬虫可以用来做什么?
爬虫又被称为网络蜘蛛,它可以抓取我们页面的一些相关数据,近几年Python技术的到来,让我们对爬虫有了一个新的认知,那就是Python爬虫,下面我们就来看看python爬虫可以用来做什么? Pytho ...
- 玩转 Python 爬虫,需要先知道这些
作者 | 叶庭云 来源 | 修炼Python 头图 | 下载于视觉中国 爬虫基本原理 1. URI 和 URL URI 的全称为 Uniform Resource Identifier,即统一资源标志 ...
- 买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划
作者 | 菜园子哇 编辑 | 唐小引 来源 | CSDN 博客 马上上班了,回来的路上,上班地铁上都是非常急需口罩的. 目前也非常难买到正品.发货快的口罩,许多药店都售完了. 并且,淘宝上一些新店口罩 ...
- 一个月入门Python爬虫,轻松爬取大规模数据
如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...
- Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!
Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...
- Python爬虫破解有道翻译
有道翻译是以异步方式实现数据加载的,要实现对此类网站的数据抓取,其过程相对繁琐,本节我以有道翻译为例进行详细讲解. 通过控制台抓包,我们得知了 POST 请求的参数以及相应的参数值,如下所示: 图1: ...
最新文章
- 每天导航超4亿公里,百度地图整合AI功能
- hdu1305 字典树水题
- 题解 P1876 【开灯】
- mysql数据恢复时显示多线程恢复_MySQL多线程备份恢复工具mydumper,myloder
- spring 启动加载数据_12个很棒的Spring数据教程来启动您的数据项目
- GridView 利用AspNetPager 分页时的自动编号
- vue的视图化创建项目_vue-cli3用图形化的方式创建项目
- linux部署jar项目报错_Spring boot项目部署linux系统tomcat报错解决办法
- mysql数据库如何配置服务_MySQL服务如何实现安装及配置
- Spark源码分析之TaskSetManager分析
- shell脚本文件中ll提示找不到命令
- 为什么每个邮件收到后都会有一个htm的附件_职场邮件:领导、同事都喜欢收到的邮件丨邮件技巧...
- RTSP的音频视频要各SETUP一次
- java--实现j2cache二级缓存
- 计算机专业英文版模板简历,计算机专业英文简历模板
- 计算机专业读研期间的规划,计算机专业研究生的读研规划
- 使用java进行远程控制,java实现远程控制
- ios设置导航条背景图片
- 【模块化那些事】 拆散的模块化
- Object-Oriented Programming Summary Ⅱ
热门文章
- 解决服务无法启动,控制台报Description:Web server failed to start. Port 8080 was already in use.
- vellum cloth
- linux系统运维复习汇总1
- 关于c#读取excel数据。
- html 内容的高度设定,让文字不超过固定宽度和高度怎么设置?
- Qt/C++编写的项目作品32-定制化安装包工具(雨田哥作品)
- java8之stream【一】steam的说明以及创建
- 微信小程序canvas实现画图可以恢复上一步操作以及从头演示(有效果图)
- PaintCOST.Estimator.for.Excel.v6.01油漆工程成本估算软件
- 【Nodejs】登录鉴权-Cookie