总结

  nginx反向代理与正向代理。

  正向带里就是,客户端通过中转服务器,访问其它他服务器的数据。

  反向代理就是用户访问中转服务器,看起来就像和这台服务器交互一样。

  nginx动静分离。

  当客户端访问动态资源时,访问的是视图中的资源,而访问静态资源的时候,则不走veiw。

  负载均衡。

  使用多uwsgi实现。

  分布式:

  将一个项目分多个服务器跑。  

一。爬虫

  爬虫的本质就是模拟数据 的发送,。并接受返回的数据进行存储。

  爬虫需要经过以下几个过程:

  1.发送请求。

  2.获取响应内容。

  3.解析内容。

  4保存数据。

二。request

  get:  

  get请求方法添加参数的时候需要在params中添加。

  post添加的请求在data中。

  除了参数还需要填写headers。

  提交登录信息成功后可以使用cookies。get_dict方法获取cookies。

  如果get参数中有特殊字符,可以使用

  request.json()可以直接获取目标序列化。

  示例:

import requests

response = requests.post('https://www.processon.com/login',
data={
'login_email': '',
'login_password': '87765396094165aq',
},
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
'referer': 'https://www.processon.com/login',
'upgrade-insecure-requests': '',
'origin': 'https://www.processon.com',
'pragma': 'no-cache',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'sec-fetch-user': '?1',
}
)
print(response.cookies.get_dict())
print(response.text)
with open('pro_danger.html','w',encoding='utf-8') as f:
f.write(response.text) # home = requests.get('https://www.processon.com/',
# headers={
# 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
# 'referer': 'https://www.processon.com/login',
# },
# cookies=response.cookies
# )
# print(home.text)
# print('<title>ProcessOn - 我的文件</title>' in home.text)

  获取图片:

import requests
import re
url = 'https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=2&mrd=0.35874713019603344' response = requests.get(url) url_list = re.findall('<a href="(.*?)" class="vervideo-lilink actplay">',response.text)
print(url_list) for v_url in url_list:
url = 'https://www.pearvideo.com/' + v_url
response = requests.get(url)
response = response.text
v = re.findall('srcUrl="(.*?)"',response)[0]
# srcUrl = "https://video.pearvideo.com/mp4/adshort/20191125/cont-1626218-14629877_adpkg-ad_hd.mp4"
print(v)
v_res = requests.get(v)
name = v.rsplit('/',1)[1]
with open(name,'wb') as f:
f.write(v_res.content)

day_93_11_25爬虫一requests,项目框架的更多相关文章

  1. 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码

    随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进 ...

  2. 第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令

    第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令 Scrapy框架安装 1.首先,终端执行命令升级pip: python -m pip install --u ...

  3. Python爬虫开发与项目实战

    Python爬虫开发与项目实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1MFexF6S4No_FtC5U2GCKqQ 提取码:gtz1 复制这段内容后打开百度 ...

  4. python爬虫+数据可视化项目(关注、持续更新)

    python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...

  5. 爬虫(二)之scrapy框架

    01-scrapy介绍 02-项目的目录结构: scrapy.cfg 项目的主配置信息.(真正爬虫相关的配置信息在settings.py 文件中) items.py 设置数据存储模板,用于结构化数据, ...

  6. 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程

    点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...

  7. Python爬虫开发与项目实战pdf电子书|网盘链接带提取码直接提取|

    Python爬虫开发与项目实战从基本的爬虫原理开始讲解,通过介绍Pthyon编程语言与HTML基础知识引领读者入门,之后根据当前风起云涌的云计算.大数据热潮,重点讲述了云计算的相关内容及其在爬虫中的应 ...

  8. Python爬虫练习(requests模块)

    Python爬虫练习(requests模块) 关注公众号"轻松学编程"了解更多. 一.使用正则表达式解析页面和提取数据 1.爬取动态数据(js格式) 爬取http://fund.e ...

  9. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

随机推荐

  1. .Net Core 使用 NPOI 导入Excel

    由于之前在网上查阅一些资料发现总是不能编译通过,不能正常使用,现把能正常使用的代码贴出: /// <summary> /// Excel导入帮助类 /// </summary> ...

  2. 拉丁方阵问题 -- python实现

    问题描述 拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,而且每种元素在一行和一列中 恰好出现一次.著名数学家和物理学家欧拉使用拉丁字母来作为拉丁方阵里元素的符号,拉丁方阵因此 ...

  3. English:Day-to-day 1015

    device session stroll pants & trousers gist deep depth diameter D radius R merge ..

  4. 使用动态SQL处理table_name作为输入参数的存储过程(MySQL)

    关于mysql如何创建和使用存储过程,参考笔记<MySQL存储过程和函数创建>以及官网:https://dev.mysql.com/doc/refman/5.7/en/create-pro ...

  5. Navicat 软件的使用以及pymysql

    Navicat 软件的使用以及pymysql 一.navicate的安装及使用 下载 直接百度搜索navicate ,如下图 连接数据库 新建数据库以及新建表 选中然后鼠标右键 建模 利用navica ...

  6. n个数字相加

    求s=a+aa+aaa+aaaa+aa...a的值 其中a是一个数字,多少个数字相加由键盘输入控制 a = int(input("数字:")) count = int(input( ...

  7. [Go] 轻量服务器框架tcp的粘包问题 封包与拆包

    tcp传输的数据是以流的形式传输的,因此就没有办法判断到哪里结束算是自己的一个消息,这样就会出现粘包问题,多个包粘在一起了 可以使用这样一个自定义的形式来解决,一个消息分为 head+body  he ...

  8. 【tf.keras】TensorFlow 1.x 到 2.0 的 API 变化

    TensorFlow 2.0 版本将 keras 作为高级 API,对于 keras boy/girl 来说,这就很友好了.tf.keras 从 1.x 版本迁移到 2.0 版本,需要修改几个地方. ...

  9. MASMPlus连接出错:error LNK2001: unresolved external symbol _WinMainCRTStartup

    坑:汇编语言第三版使用的是masm5.0,网上找到了一个masm32,一看名字,不就是masm的32位版本吗.然也..这是另外一个软件 MASM32并非是指Microsoft的MASM宏汇编器.MAS ...

  10. Tensorflow常用算数操作

    TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测 ...