爬虫:获取页面 -- request库的使用
摘要
requests是一个封装了python自带的urllib模块的一个易用型模块,它使得程序员对发送请求和获取响应等http操作的代码编写更加简单。
说明
以下代码均默认已导入相关模块:
import requests
获取页面
基本步骤如下:
设置请求头信息,一般是改变user-agent
通过get()方法获取页面信息
判断是否发生异常
如无异常返回页面的文本或者二进制信息
以下是一个获取目标页面的方法:
def getHTMLText(url):'获取目标页面'try:kv = {"user-agent":"Mozilla/5.0"} # 设置user-agentr = requests.get(url, timeout=30) # 获取页面,设置超时时间为30sr.raise_for_status() # 如果状态码不是200,引发HTTPError异常r.encoding = r.apparent_encoding # 设置编码会页面的正确编码return r.text # 如果需要二进制信息,应该使用r.contentexcept:return '产生异常'
上面代码实现了一个获取目标页面的方法,我们可以使用这个方法进行一些测试,比如:
访问京东的一个商品页面:
url = "https://item.jd.com/2967929.html"text = getHTMLText(url)print(text[:1000]) # 输出前面1000个字符的信息
访问亚马逊的一个商品页面:
url = "https://www.amazon.cn/dp/B0083DP0CY?_encoding=UTF8&ref_=pc_cxrd_658409051_recTab_658409051_t_1&pf_rd_p=610d12d5-867d-4582-81bc-05492d242e3f&pf_rd_s=merchandised-search-3&pf_rd_t=101&pf_rd_i=658409051&pf_rd_m=A1AJ19PSB66TGU&pf_rd_r=QT2Q1KC61VNBDYMHX928&pf_rd_r=QT2Q1KC61VNBDYMHX928&pf_rd_p=610d12d5-867d-4582-81bc-05492d242e3f"text = getHTMLText(url)print(text[:1000]) # 输出前面1000个字符的信息
可以发现,上面两个例子的代码除了url外是相同的,不过这两个网站实际上又是有所不同的,就是京东不会限制python程序的访问,而亚马逊会。在这里,网站服务器是通过判断请求头的User-Agent字段来判断是否是浏览器访问,如果不是,可能会被网站禁止访问。所有,最好在发送请求之前先设置好User-Agent。
User-Agent的设置:r = requests.get(url, headers={"User-Agent":"Mozilla/5.0"})
查看当前请求头信息:r.headers
转载于:https://www.cnblogs.com/githubMYL/p/9601580.html
爬虫:获取页面 -- request库的使用相关推荐
- Crawler:爬虫基于urllib.request库实现获取指定网址上的所有图片
Crawler:爬虫基于urllib.request库实现获取指定网址上的所有图片 目录 输出结果 核心代码 输出结果 核心代码 # coding=gbk import urllib.request ...
- Python网络爬虫与信息提取[request库的应用](单元一)
---恢复内容开始--- 注:学习中国大学mooc 嵩天课程 的学习笔记 request的七个主要方法 request.request() 构造一个请求用以支撑其他基本方法 request.get(u ...
- python爬虫获取下一页url_Python爬虫获取页面所有URL链接过程详解
如何获取一个页面内所有URL链接?在python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...
- python爬虫之js链接跳转抓取_Python爬虫获取页面所有URL链接过程详解
如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...
- python爬虫用urllib还是reques_Python爬虫之urllib.request库
爬虫--urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地.在Python中有很多库可以用来抓取网页,我们先学习urllib.req ...
- 爬虫获取页面信息并存储
目标: 获取CSDN首页直播内容 实现获取内容的类 Crowller 获取内容: 通过 superagent插件获取页面信息 存储内容:fs.writeFileSync 根据以上两点实现的类: imp ...
- Python3爬虫入门之Request库的使用
requests 什么是Requests Requests 是⽤Python语⾔编写,基于 urllib,采⽤Apache2 Licensed开源协议的HTTP库. 它⽐urllib更加⽅便,可以节约 ...
- Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类
Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类 目录 一. ...
- python request库_【Python爬虫】Request库入门
什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...
最新文章
- Metasploit设置VERBOSE参数技巧
- python视频教程从入门到精通全集-python从入门到精通视频(全60集)免费高速下载...
- flatmap用法_短说:map和flatmap
- Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别
- PHP+Mysql查询上一篇和下一篇文章实例
- C/C++数组名与指针区别
- Docker搭建nexus3私服
- ArcGis for JavaScript 4.23版本接入国家天地矢量地图
- Python爬虫实战|爬取视频
- 浅析携程智能客服机器人实现
- 计算机基本单位——位、字节、字、字长
- JAVA通过阿里云OSS存储实现图片上传功能
- poi设置excel行高
- html设置手机为数字,用数字4636设置手机网络类型的方法步骤
- 手机端html跑马灯效果,使用css3和js在手机上实现简单的跑马灯效果
- 【QT学习】QRegExp类正则表达式(一文读懂)
- 山师计算机组成原理期末,山师—2010级计算机组成原理期末试卷(B)历山
- Kong的插件: hmac
- 【代理设置】Linux Windows 系统下各工具设置代理方式笔记(整理中)
- 【Paper Note】SENet论文——SE block详解
热门文章
- 5分钟搞定开机引导界面
- 深入理解计算机系统-之-内存寻址(四)--linux中分段机制的实现方式
- 58到家技术总监沈剑:有选择的借鉴才能不走弯路
- sql输出表中重复数据
- sql的nvl()函数
- 列表(list)、元组(tuple)、字典(dictionary)、array(数组)-numpy、DataFrame-pandas 、集合(set)...
- 如何解决虚拟机频繁分离和附加磁盘导致的识别错误
- Swift_类型选择
- 第五百七十二、三天 how can I 坚持
- [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子