摘要

requests是一个封装了python自带的urllib模块的一个易用型模块,它使得程序员对发送请求和获取响应等http操作的代码编写更加简单。

说明

以下代码均默认已导入相关模块:

import requests

获取页面

基本步骤如下:

  1. 设置请求头信息,一般是改变user-agent

  2. 通过get()方法获取页面信息

  3. 判断是否发生异常

  4. 如无异常返回页面的文本或者二进制信息

以下是一个获取目标页面的方法:

    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库的使用相关推荐

  1. Crawler:爬虫基于urllib.request库实现获取指定网址上的所有图片

    Crawler:爬虫基于urllib.request库实现获取指定网址上的所有图片 目录 输出结果 核心代码 输出结果 核心代码 # coding=gbk import urllib.request ...

  2. Python网络爬虫与信息提取[request库的应用](单元一)

    ---恢复内容开始--- 注:学习中国大学mooc 嵩天课程 的学习笔记 request的七个主要方法 request.request() 构造一个请求用以支撑其他基本方法 request.get(u ...

  3. python爬虫获取下一页url_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  4. python爬虫之js链接跳转抓取_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  5. python爬虫用urllib还是reques_Python爬虫之urllib.request库

    爬虫--urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地.在Python中有很多库可以用来抓取网页,我们先学习urllib.req ...

  6. 爬虫获取页面信息并存储

    目标: 获取CSDN首页直播内容 实现获取内容的类 Crowller 获取内容: 通过 superagent插件获取页面信息 存储内容:fs.writeFileSync 根据以上两点实现的类: imp ...

  7. Python3爬虫入门之Request库的使用

    requests 什么是Requests Requests 是⽤Python语⾔编写,基于 urllib,采⽤Apache2 Licensed开源协议的HTTP库. 它⽐urllib更加⽅便,可以节约 ...

  8. Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类

    Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类 目录 一. ...

  9. python request库_【Python爬虫】Request库入门

    什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...

最新文章

  1. Metasploit设置VERBOSE参数技巧
  2. python视频教程从入门到精通全集-python从入门到精通视频(全60集)免费高速下载...
  3. flatmap用法_短说:map和flatmap
  4. Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别
  5. PHP+Mysql查询上一篇和下一篇文章实例
  6. C/C++数组名与指针区别
  7. Docker搭建nexus3私服
  8. ArcGis for JavaScript 4.23版本接入国家天地矢量地图
  9. Python爬虫实战|爬取视频
  10. 浅析携程智能客服机器人实现
  11. 计算机基本单位——位、字节、字、字长
  12. JAVA通过阿里云OSS存储实现图片上传功能
  13. poi设置excel行高
  14. html设置手机为数字,用数字4636设置手机网络类型的方法步骤
  15. 手机端html跑马灯效果,使用css3和js在手机上实现简单的跑马灯效果
  16. 【QT学习】QRegExp类正则表达式(一文读懂)
  17. 山师计算机组成原理期末,山师—2010级计算机组成原理期末试卷(B)历山
  18. Kong的插件: hmac
  19. 【代理设置】Linux Windows 系统下各工具设置代理方式笔记(整理中)
  20. 【Paper Note】SENet论文——SE block详解

热门文章

  1. 5分钟搞定开机引导界面
  2. 深入理解计算机系统-之-内存寻址(四)--linux中分段机制的实现方式
  3. 58到家技术总监沈剑:有选择的借鉴才能不走弯路
  4. sql输出表中重复数据
  5. sql的nvl()函数
  6. 列表(list)、元组(tuple)、字典(dictionary)、array(数组)-numpy、DataFrame-pandas 、集合(set)...
  7. 如何解决虚拟机频繁分离和附加磁盘导致的识别错误
  8. Swift_类型选择
  9. 第五百七十二、三天 how can I 坚持
  10. [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子