博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
requesets库使用
阅读量:5044 次
发布时间:2019-06-12

本文共 1136 字,大约阅读时间需要 3 分钟。

  • Beautiful is better than ugly.(美丽优于丑陋)
  • Explicit is better than implicit.(清楚优于含糊)
  • Simple is better than complex.(简单优于复杂)
  • Complex is better than complicated.(复杂优于繁琐)
  • Readability counts.(重要的是可读性)

requests库中文官网

 

一、导入库

import requests

发送基本的get请求

r = requests.get(url)

使用requests方法后,会返回一个response对象,r就是response对象

Response对象的属性

r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败
r.text HTTP响应内容的字符串形式,即url对应的页面内容
r.encoding 从HTTP header中猜测的响应内容编码方式(
r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)
r.content HTTP响应内容的二进制形式

r.encoding和r.apparent_encoding的区别

r.encoding:如果header中不存在charset,则认为编码为ISO-8859-1
r.apparent_encoding:根据网页内容分析出的编码方式
综上所述,r.apparent_encoding比r.encoding更为准确

网络爬虫的限制

来源审查:判断User-Agent进行限制
检查来访HTTP协议头的User-agent域,只响应浏览器或者友好爬虫访问
发布公告:Robots协议
告知所有爬虫网站的爬取策略,要求爬虫遵守

Robots协议基本语法

User-agent:*
Disallow: /
* 代表所有 , / 代表根目录

 

 

 

爬取网页通用框架

import requests

def getHTMLText(url1):

  try:
    r = requests.get(url1, timeout=30)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    return r.text
  except:
    return "产生异常"

 原文链接:https://blog.csdn.net/dawn___/article/details/64543157

转载于:https://www.cnblogs.com/whisperbb/p/11397526.html

你可能感兴趣的文章
c++学习8 -- 引用变量
查看>>
Deap: python中的遗传算法工具箱
查看>>
javaweb笔记分享
查看>>
网页基础操作
查看>>
CodeForces869E The Untended Antiquity
查看>>
Django Restframework.3
查看>>
463. Island Perimeter
查看>>
windows使用命令行,提高效率
查看>>
UITbleView操作总结
查看>>
在vc下打印参数串
查看>>
LeetCode 3Sum Closest
查看>>
HTTP协议(转)
查看>>
codevs1145
查看>>
图---DFS
查看>>
kuangbin专题十六 KMP&&扩展KMP HDU3746 Cyclic Nacklace
查看>>
递归算法,JavaScript实现
查看>>
java基本类型包装类
查看>>
【python学习】之五、可调用对象
查看>>
Hibernate双向多对多关联
查看>>
peewee
查看>>