【网络安全带你练爬虫-100练】第1练:发送请求获取返回内容

目录

一、前置知识1

二、前置知识2

requests库的7个主要方法

语法:

注解:

三、扩展工具

四、网络安全小圈子


一、前置知识1

顾名思义网络爬虫第一步,爬取目标 URL的网页的信息

可以使用 urllib.request 和 requests发送请求,然后返回对应的数据(py3)

1、urllib 库是 Python 内置的

2、requests 库是第三方库(需额外安装,pip install requests)



二、前置知识2

requests库的7个主要方法

方法    说明
requests.request()    构造一个请求
requests.get()    获取HTML网页的主要方法(即HTTP的GET)
requests.head()    获取HTML网页头的信息方法(即HTTP的HEAD)
requests.post()    向HTML网页提交POST请求方法(即HTTP的POST)
requests.put()    向HTML网页提交PUT请求的方法(即HTTP的PUT)
requests.patch()    向HTML网页提交局部修改请求(即HTTP的PATCH)
requests.delete()    向HTML页面提交删除请求(即HTTP的DELETE)


语法:

requests.request(method,url,**kwargs)

注解:

1、method:请求方式(get/put/post等七种)

如resp = requests.request(‘GET’,url,**kwargs)


2、url:目标url

必选项(不可或缺)


3、**kwargs:控制访问参数(13个,为可选项)

params : 字典或字节序列,作为参数增加到url中
data : 字典、字节序列或文件对象,作为Request的内容
json : JSON格式的数据,作为Request的内容
headers : 字典,HTTP定制头(模拟浏览器进行访问)
cookies : 字典或CookieJar,Request中的cookie
files : 字典类型,传输文件
timeout : 设定超时时间,秒为单位
proxies : 字典类型,设定访问代理服务器,可以增加登录认证
allow_redirects : True/False,默认为True,重定向开关
stream : True/False,默认为True,获取内容立即下载开关
verify : True/False,默认为True,认证SSL证书开关
cert : 本地SSL证书路径
auth : 元组,支持HTTP认证功能

import requestsif __name__ == '__main__':url1="https://beautifulsoup.readthedocs.io/zh_CN/latest/"req=requests.get(url=url1)req.encoding='utf-8'print(req.text)

注:

导入requests模块。

如果该脚本被直接执行(而不是被引入为模块),则执行以下操作:

  • 将变量url1赋值为"Beautiful Soup 4.4.0 文档 — beautifulsoup 4.4.0q 文档"。
  • 使用requests.get()函数发送一个GET请求到url1指定的URL,并将返回的响应对象赋值给变量req
  • 设置req对象的编码为UTF-8。
  • 打印req.text,即获取到的响应文本内容。

获取到的返回包内容在最下方方框中

(使用pycharm工具)

 

 



三、扩展工具

jupyter notebook工具(平时可能都习惯使用pycharm)

安装

pip3 install jupyter

查看帮助信息

jupyter notebook -h

启动

jupyter notebook(如果端口占用的情况:jupyter notebook --port <port_number>)

 进入到了主页面

(还有很多配置,可以使界面更清爽,我只想使用软件的功能,界面想配置清爽可以查看一下软件的其他配置)

软件的使用:

如图所示点击完成以后会新建一个窗口

在里面复制代码运行即可



四、网络安全小圈子

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2398.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浪潮发布G2平台

2017年2月28日下午&#xff0c;浪潮在北京粤财JW万豪酒店以“智变”为主题&#xff0c;发布新一代智能存储平台G2&#xff0c;该平台基于统一架构和In系列智能软件设计&#xff0c;在保障”三高”特性满足企业级关键数据存储、处理需求的同时&#xff0c;更强调数据生命周期的智…

了解浏览器缓存

什么是HTTP缓存&#xff0c;如何工作的&#xff1f; 当我们打开一个页面时&#xff0c;会向服务端发起很多次请求&#xff0c;如下图打开百毒首页&#xff0c;发起了HTML、各种图片、JS、CSS等资源共101次请求。这里面很多资源并不会频繁变化&#xff0c;每次打开页面都重新请…

为什么有了HTTP,还需要WebSocket协议?

目录 WebSocket是什么&#xff1f; WebSocket怎样建立连接&#xff1f; WebSocket的实际用途 WebSocket 与 HTTP 的选择 HTTP是基于TCP协议的&#xff0c;同一时间里&#xff0c;客户端和服务器只能有一方主动发数据&#xff0c;是半双工通信。 通常&#xff0c;打开某个网…

Html + Jquery + Vue前端学习笔记

文章目录 一&#xff0c;Vue1&#xff0c;v-model 数据绑定2&#xff0c;生成描述列表 二&#xff0c;HtmlJquery1&#xff0c;动态修改类名2&#xff0c;layui手风琴效果3&#xff0c;输入框样式修改4&#xff0c;多行文本显示省略号5&#xff0c;div内容居右6&#xff0c;字符…

k8s calico 网络异常处理

故障 worker3故障重启后&#xff0c;该节点的 pod 访问不了其它节点服务 2023-06-26T07:44:41.041Z ERROR setup unable to start manager {"error": "Get \"https://10.244.64.1:443/api?timeout32s\": dial tcp 10.244.64.1:443: i/o…

SQL题型:根据逗号拆分列

例1&#xff1a; 表&#xff1a; 要实现的结果&#xff1a; 代码&#xff1a; select a.id as hyId,substring_index(substring_index(a.ch_ry_mc, ,,b.help_topic_id 1 ),,, - 1) AS CH_RY_ID FROM rsgl_hygl_hyxx a JOIN mysql.help_topic b ON b.help_topic_id < ( l…

【嵌入式Qt开发入门】初识Qt——Linux下安装Qt

Qt 是什么&#xff1f; Qt 是一个跨平台的 C开发库。主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;简 称 GUI&#xff09;程序。 Qt 虽然经常被当做一个 GUI 库&#xff0c;用来开发图形界面应用程序&#xff0c;但这并不是 Qt 的全部&#xff1b…

PHP表单传值和文件上传:深入解析数据交互与文件处理技术

目录 表单传值 为什么要表单传值&#xff1f; 表单传值的方式 GET传值 POST传值 GET和POST两种传参方式的不同&#xff1a; PHP接受数据的三种方式 PHP处理复选框数据 复选框表单的命名方式 复选框数据的接受形式 复选框数据的常见处理 复选框细节&#xff1a; 文件…

MySQL备份与恢复

MySQL备份与恢复 一、数据备份的重要性二、数据库备份的分类1、从物理和逻辑的角度2、从数据库的备份策略角度 三、常见的备份方法四、MySQL 完全备份1、数据库完全备份分类2、具体操作2.1 物理冷备份与恢复2.2 mysqldump备份与恢复 五、MySQL增量备份与恢复1、MySQL 增量备份2…

京东到家小程序-在性能及多端能力的探索实践 | 京东云技术团队

一、前言 京东到家小程序最初只有微信小程序&#xff0c;随着业务的发展&#xff0c;同样的功能需要支持容器越来越多&#xff0c;包括支付宝小程序、京东小程序、到家APP、京东APP等&#xff0c;然而每个端分开实现要面临研发成本高、不一致等问题。 为了提高研发效率&#…

python中调用java函数

python中调用java函数 1. 将java项目打包成jar&#xff08;IDEA&#xff09;2. 在python中调用jar 1. 将java项目打包成jar&#xff08;IDEA&#xff09; 【CtrlShiftAltS】或者“File --> Project Structure --> Project Settings” 选择Artifacts选项卡&#xff0c;点…

Maven高级操作--分模块设计、聚合、继承和私服

一、分模块设计与开发 1.1 分模块设计 问题&#xff1a;当项目做大做强的时候&#xff0c;前面的基础Spring开发的框架都无法满足java大型项目的维护和复用&#xff0c;而且团队合作也会造成较大的困难。所以就需要分模块设计&#xff1a;将项目按照功能拆分成若干个子模块&a…