day_93_11_25爬虫一requests,项目框架
总结
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,项目框架的更多相关文章
- 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码
随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进 ...
- 第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令
第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令 Scrapy框架安装 1.首先,终端执行命令升级pip: python -m pip install --u ...
- Python爬虫开发与项目实战
Python爬虫开发与项目实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1MFexF6S4No_FtC5U2GCKqQ 提取码:gtz1 复制这段内容后打开百度 ...
- python爬虫+数据可视化项目(关注、持续更新)
python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...
- 爬虫(二)之scrapy框架
01-scrapy介绍 02-项目的目录结构: scrapy.cfg 项目的主配置信息.(真正爬虫相关的配置信息在settings.py 文件中) items.py 设置数据存储模板,用于结构化数据, ...
- 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程
点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...
- Python爬虫开发与项目实战pdf电子书|网盘链接带提取码直接提取|
Python爬虫开发与项目实战从基本的爬虫原理开始讲解,通过介绍Pthyon编程语言与HTML基础知识引领读者入门,之后根据当前风起云涌的云计算.大数据热潮,重点讲述了云计算的相关内容及其在爬虫中的应 ...
- Python爬虫练习(requests模块)
Python爬虫练习(requests模块) 关注公众号"轻松学编程"了解更多. 一.使用正则表达式解析页面和提取数据 1.爬取动态数据(js格式) 爬取http://fund.e ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
随机推荐
- Prometheus学习系列(七)之Prometheus PromQL说明
前言 本文来自Prometheus官网手册1.2.3 和 Prometheus简介1.2.3 PromQL操作符 一.二元操作符 Prometheus的查询语言支持基本的逻辑运算和算术运算.对于两个瞬 ...
- NET Framework项目移植到NET Core上遇到的一系列坑
原文:NET Framework项目移植到NET Core上遇到的一系列坑 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...
- Ocelot网关在.Net Core 的使用
1. 项目环境 .Net Core 2.2 Ocelot 13.5.2 2. 基本使用 * Nuget 安装 Ocelot , Ocelot.Provider.Polly * 修改 Pro ...
- How to: Handle Renamings and Deletions of Business Classes and their Properties 如何:处理业务类及其属性的重命名和删除
When developing an XAF application, you may be required to rename a persistent class or property due ...
- ELK日志分析系统(1)-基本环境搭建
1. 概述 ELK = Elasticsearch + Logstash + Kibana Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和J ...
- SQL Server解惑——为什么你的查询结果超出了查询时间范围
废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子. USE AdventureWorks ...
- CentOS自动化安装LAMP脚本
#!/bin/bash #-- #blog:lizhenliang.blog.51cto.com ########## function ########## depend_pkg () { yum ...
- OpenGL 之 Compute Shader(通用计算并行加速)
平常我们使用的Shader有顶点着色器.几何着色器.片段着色器,这几个都是为光栅化图形渲染服务的,OpenGL 4.3之后新出了一个Compute Shader,用于通用计算并行加速,现在对其进行介绍 ...
- Linux中,Tomcat 怎么承载高并发(深入Tcp参数 backlog)
一.前言 这两天看tomcat,查阅 tomcat 怎么承载高并发时,看到了backlog参数.我们知道,服务器端一般使用mq来减轻高并发下的洪峰冲击,将暂时不能处理的请求放入队列,后续再慢慢处理.其 ...
- goroutine,channel
Go语言中有个概念叫做goroutine, 这类似我们熟知的线程,但是更轻. 以下的程序,我们串行地去执行两次loop函数: package main import "fmt" f ...