requesets库使用

news/2024/7/19 9:17:17 标签: 爬虫
  • Beautiful is better than ugly.(美丽优于丑陋)
  • Explicit is better than implicit.(清楚优于含糊)
  • Simple is better than complex.(简单优于复杂)
  • Complex is better than complicated.(复杂优于繁琐)
  • Readability counts.(重要的是可读性)

requests库中文官网

http://cn.python-requests.org/zh_CN/latest/user/quickstart.html

 

一、导入库

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


http://www.niftyadmin.cn/n/1186894.html

相关文章

Re库使用(正则表达式)

操作符        说明                       实例.           表示任何单个字符[ ]        字符集,对单个字符给出取值范围       [abc]表示a、b、c,[a‐z]表示a到z单个字符[^ ]        非字符集…

从0到1精通自动化测试,pytest自动化测试框架,Hooks函数获取用例执行结果(二十三)

一、前言 pytest提供的很多钩子(Hooks)方法方便我们对测试用例框架进行二次开发,可以根据自己的需求进行改造 先学习下pytest_runtest_makereport这个钩子方法,可以更清晰的了解用例的执行过程,并获取到每个用例的执行结果 二、pytest_run…

关于我留言板

在下高一OIer一枚,就读于SC的一所发展中学(ruo)校对二次元什么的,有着淡淡的喜爱初三的时候入了古风的坑,想变得文艺一点,可爱一点也会听歌,但听得不多(主要是听新歌比较随缘),范围窄…

DNS主从域名服务器配置

#命令为红色 #vi编辑内容为蓝色 建立主、从或者缓存域名服务器,前提一定要关闭防火墙和linux防护机制,否则不能成功解析客户机请求 永久关闭防火墙和安全机制命令如下: systemctl stop firewalld systemctl disable firewalld iptables -F se…

使用.Net Core + Vue + IdentityServer4 + Ocelot 实现一个简单的DEMO +源码

运行环境 Vue 使用的是D2admin: https://doc.d2admin.fairyever.com/zh/ Github地址:https://github.com/Fengddd/PermissionAdmin.git Net Core的环境:Webapi 使用的是:NET Core SDK2.1 IdentityServer和Ocelot:NET Core SDK2.2 …

[WPF自定义控件库] 关于ScrollViewer和滚动轮劫持(scroll-wheel-hijack)

1. 什么是滚动轮劫持 这篇文章介绍一个很简单的继承自ScrollViewer的控件: public class ExtendedScrollViewer : ScrollViewer {protected override void OnMouseWheel(MouseWheelEventArgs e){if (ViewportHeight VerticalOffset > ExtentHeight && e…

PXE批量自动装机Centos 7

设置静态IP关闭防火墙 systemctl stop firewalld iptables -F setenforce 0PXE部署一部署FTP服务,安装包vsftpd 1建立共享文件夹 (可以拷贝光碟文件到centos7下,也可直接挂载) mkdir /var/ftp/centos7 2启动FTP服务,…

排序之选择排序

# 选择排序 时间复杂度&#xff1a;O(n**2) 代码&#xff1a; def select_sort(li):  for i in range(len(li)-1):    min_loc i    for j in range(i1, len(li)):      if li[j]<li[min_loc]:        min_loc j    li[i], li[min_loc] li[m…