response

爬虫初识与入门

荒凉一梦 提交于 2020-03-03 11:40:38
目录 一 爬虫 1、什么是互联网? 2、互联网建立的目的? 3、什么是上网?爬虫要做的是什么? 4、爬虫 1.爬虫的定义: 2.爬虫的价值 爬虫的分类 二 爬虫的基本流程 三 请求与响应 四 requests 五 response 六 案例 1.爬取搜狗首页的源码数据 2.基于搜狗编写简单的网页采集 3.爬取豆瓣电影的电影详情数据 肯德基的案例 药监总局数据爬取 4.获取斗图网的一张图片 总结 一 爬虫 1、什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样 2、互联网建立的目的? 互联网的核心价值在于数据的共享/传递:数据是存放于一台台计算机上的,而将计算机互联到一起的目的就是为了能够方便彼此之间的数据共享/传递,否则你只能拿U盘去别人的计算机上拷贝数据了。 3、什么是上网?爬虫要做的是什么? 我们所谓的上网便是由用户端计算机发送请求给目标计算机,将目标计算机的数据下载到本地的过程。 只不过,用户获取网络数据的方式是: 1.浏览器提交请求->下载网页代码->解析/渲染成页面。 而爬虫程序要做的就是: 2.模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中   1与2的区别在于: 我们的爬虫程序只提取网页代码中对我们有用的数据 4、爬虫 1.爬虫的定义: 向网站发起请求

HttpContext

懵懂的女人 提交于 2020-03-03 09:36:13
https://www.cnblogs.com/DSC1991/p/8674960.html 一:HttpContext理论知识: 1:HttpContext类它对Request、Respose、Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用;为继承 IHttpModule 和 IHttpHandler 接口的类提供了对当前 HTTP 请求的 HttpContext 对象的引用。该对象提供对请求的内部Request、Response 和 Server 属性的访问。HttpContext的命名空间:System.Web(在 system.web.dll 中);除了对几个对象进行封装外它还有个HttpContext.Item,通过它你可以在HttpContext的生存周期内提前存储一些临时的数据,方便随时使用。 2:生存周期:从客户端用户点击并产生了一个向服务器发送请求开始---服务器处理完请求并生成返回到客户端为止。针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例。 3:当我们创建一个一般处理程序Handler.ashx时,我们可以在文件中看到这一句 public void ProcessRequest (HttpContext context); 4:可以通过HttpContext

初体验开发一个HttpServer雏形

匆匆过客 提交于 2020-03-03 08:43:37
记得迷上 Python 的那段时间,同时也关注了 IronPython 一段时间,IronPython项目的源代码中就包含了一个简单的HttpServer,因为一直都对Web服务器的运行机制很感兴趣,因此研究了一下源代码并跟踪调试,也让我这服务器开发的门外汉体验了一把。 熟话说,看归看,写归写,写程序远比看懂代码有难度多了,于是乎堆码热情澎湃,堆了一个HttpServer雏形(实现原理的模型) 一、阻塞模型 阻塞模型,当您的程序运行到某条代码时(请求I/O操作),当前进程将等待在调用处,后面的语句将不继续执行,直到引起阻塞的语句执行完毕后,等待出后面的语句将可继续执行,从这里我们可以知道,阻塞模型严重浪费计算机的资源,然而非阻塞将是该方案的替代者。我们先看看阻塞模型的实现代码: 首先,我们开启一个接受来自客户端请求的Socket并与IP地址和端口绑定,然后监听该Socket。 public static void OpenServer() { server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); server.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8000)); server.Listen(0); }

SpringMVC的 @RestController和@Controller 区别

℡╲_俬逩灬. 提交于 2020-03-03 07:25:36
@RestController注解,相当于@Controller+@ResponseBody两个注解的结合, 返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面 @ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】, 在使用 @RequestMapping后,返回值通常解析为跳转路径, 但是加上 @ResponseBody 后返回结果不会被解析为跳转路径, 而是直接写入 HTTP response body 中。 比如异步获取 json 数据, 加上 @ResponseBody 后,会直接返回 json 数据。 @RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。 @Controller @RequestMapping("falarmUser") public class FAlarmUserController { private static final Logger logger = LoggerFactory.getLogger(FAlarmUserController

day74-drfwork

醉酒当歌 提交于 2020-03-03 07:24:24
models from django.db import models class Car(models.Model): COLOR_CHOICES = [ (0, '银色'), (1, '黑色'), (2, '红色'), (3, '灰色') ] name = models.CharField(max_length=64) color = models.IntegerField(choices=COLOR_CHOICES,default=0) price = models.DecimalField(max_digits=10, decimal_places=2) image = models.ImageField(upload_to='img', default='img/default.jpg') brand = models.CharField(max_length=64) @property def car_color(self): return self.get_color_display() exception from rest_framework.views import exception_handler as drf_exception_handler from rest_framework.response import Response from rest

Response响应解决中文乱码问题

霸气de小男生 提交于 2020-03-03 07:13:06
默认情况下造成中文内容乱码的原因: 1、把中文内容存放到缓冲区中使用的是ISO8859编码。 2、ISO8859不支持中文。 解决方法(必须放在设置响应体之前来设置编码格式): 1、设置缓存区编码格式为UTF-8,使用 setCharacterEncoding() 方法。 2、在响应中主动告诉浏览器使用UTF-8编码格式接收数据,使用 setHeader() 方法。 3、使用封装类简写Content-Type,使用 setContentType() 方法则无需使用 setCharacterEncoding() 方法,推荐使用这种方法。 //设置缓存区编码为UTF-8编码格式 response.setCharacterEncoding("UTF-8"); //在响应中主动告诉浏览器使用UTF-8编码格式来接收数据 response.setHeader("Content-Type", "text/html;charset=UTF-8"); //可以使用封装类简写Content-Type,使用该方法则无需使用setCharacterEncoding response.setContentType("text/html;charset=UTF-8"); 来源: CSDN 作者: jiangwenhao_1 链接: https://blog.csdn.net/qq_40332952

Python学习(九)while 循环

匆匆过客 提交于 2020-03-03 05:52:02
while循环简介 for循环用于对集合中的每个元素的一个代码块; while循环不断的运行,直到指定的条件不满足为止。 使用while循环 while数数,从1-5 current = 1 while current <= 5 : print(current) current += 1 1 2 3 4 5 用户选择何时退出 标志:判断整个程序是否处于活跃状态的变量称为标志。 标志值: False:让程序停止运行 True:让程序继续运行 prompt = "\nTell me something, and I will repeat it back to you:" prompt += "\nEnter 'quit' to end the program. " active = True while active: message = input(prompt) if message == 'quit': active = False else: print(message) 输入值为“quit”时 active='quit' 程序结束。 Tell me something, and I will repeat it back to you: Enter 'quit' to end the program. hello hello Tell me something, and I

flask6 cookie

馋奶兔 提交于 2020-03-03 02:19:48
app from flask import Flask from flask_script import Manager from App . ext import db from App . views import bp app = Flask ( __name__ ) app . config . from_pyfile ( "settings.py" ) db . init_app ( app ) manager = Manager ( app ) # 注册蓝图 app . register_blueprint ( bp ) if __name__ == '__main__' : manager . run ( ) App.ext from flask_migrate import Migrate from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy ( ) settings DEBUG = True # 数据库 SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:19970223@localhost:3306/sess" SQLALCHEMY_TRACK_MODIFICATIONS = False App.views from datetime import

1.爬虫基本介绍

让人想犯罪 __ 提交于 2020-03-03 00:58:24
目录 1 爬虫介绍 1.1 爬取流程 状态码301和302的区别? 2 requests模块 模拟发送http请求 需要向携带头部的地址发送请求 自己服务器模拟requests使用 get请求携带参数 get请求携带header中的referer 携带cookie的两种方式 发送post请求携带数据的位置 响应对象response 解析json requests发送请求如何使用代理 总结 并发爬取某视频网站 1 爬虫介绍 1.1 爬取流程 爬取的都是http/https的数据,移动端的数据,发送请求获取数据,并不是只有python能做爬虫(任何语言都可以做爬虫),python比较便捷,模块多,上手快,爬虫框架scrapy 发送http请求(requests模块)-----》服务端返回数据(咱们要爬取的网站)-----》拿到数据解析(re,bs4)(json/html)------》入库保存 (文件,mysql,redis) ------》后续可以做分析 发送http请求:浏览器,浏览器会自动组装数据包(http的请求包),向服务端发送请求 自己基于socket来封装,比较复杂,原生python提供了urllib模块,有个人基于urllib模块继续封装,做了requests模块, 使用requests模块模拟发送http请求,有的时候爬不到数据,被禁止了,一定是你模拟的不够像,

在Spring Boot中如何使用Cookies详析

久未见 提交于 2020-03-02 22:24:02
一、导读 本文大纲 读取 HTTP Cookie 设置 HTTP Cookie 读取所有 Cookie[] 为 Cookie 设置过期时间 Https 与 Cookie HttpOnly Cookie 删除 Cookie HTTP Cookie(也称为Web cookie,浏览器cookie)是服务器在用户浏览器中存储的小部分数据。服务器端应用程序在返回浏览器请求响应的时候设置cookie,浏览器存储cookie,并将它们在下一个请求一起发送的时候自动带回服务器端应用程序。 Cookies提供了一种在服务器和浏览器之间交换信息的方法,以管理会话(登录,购物车,游戏得分),记住用户首选项(主题,隐私策略接受)以及跟踪整个站点的用户行为。Cookies在一定程度上解放了服务器端的压力,因为将一部分数据放在浏览器端存储,所以这部分数据不能是涉及应用安全的数据。在本文中,我们将学习如何在Spring Boot应用程序中读取、设置和删除HTTP cookie。 二、读取HTTP Cookie Spring框架提供@CookieValue注释来获取HTTP cookie的值,此注解可直接用在控制器方法参数中。 @GetMapping("/") public String readCookie(@CookieValue(value = "username", defaultValue =