Python之爬虫
目录
- HTTP请求
- HTTP响应
- 获得页面响应
- 伪装用户访问
- 打包数据
- 爬取豆瓣top250
HTTP请求
HTTP:HypertextTransferProtcol 超文本传输协议
1、请求行
POST/user/info?new_user=true HTTP/1.1
#资源了路径user/info 查询参数new_user=true 协议版本HTTP/1.1
2、请求头
Host:www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; ×64)
#host指主机域名
User-Agent:curl/7.77.0
#告知服务器客户端的相关信息
Accept:*/*
#客户端想接受的响应数据是什么类型
3、请求体
{"username":"刘威","email":"liuwei@hotmail.com"}
HTTP响应
# 状态行
HTTP/1.1 200 OK
# 响应头
Date:Fri,27Jan 2023 02:10:50 GMT
Content-Type:text/html;charset=utf-8
# 响应体
<!DOCTYPE html><head><title>首页</title></head><body><h1>hello world!</h1></body>
</html>

获得页面响应
pip install requests
import requests
head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; ×64)" }
response=requests.get("http://books.toscrape.com")
if response.ok:print(response.text)
else:print("error")
伪装用户访问

import requests
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.184.400 QQBrowser/11.3.5190.400"
}
response=requests.get("https://movie.douban.com/top250",headers=headers)
print(response.text)
打包数据
pip install bs4
from bs4 import BeautifulSoup
import requestscontent=requests.get("https://movie.douban.com/top250").text
# 传入BeautifulSoup的构造函数里
# 解析器
soup=BeautifulSoup(content,"html.parser")
# 能根据标签、属性等找出所有符合要求的元素
all_prices=soup.findAll("span",attrs={"class","title"})
for price in all_prices:print(price.string) #会把标签包围的文字返回给我们
爬取豆瓣top250
from bs4 import BeautifulSoup
import requests
# 伪装用户访问
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.184.400 QQBrowser/11.3.5190.400"
}
# 根据url格式进行自动翻页
for start_num in range(0,250,25): response=requests.get(f"https://movie.douban.com/top250?start={start_num}",headers=headers) #我们就可以用f字符串去格式化html=response.text #打包htmlsoup=BeautifulSoup(html,"html.parser") #用html方式解析all_title=soup.findAll("span",attrs={"class":"title"}) #限制特定条件for title in all_title: #遍历所需内容title_string=title.stringif "/" not in title_string: #限制内容显示print(title_string)
相关文章:
Python之爬虫
目录 HTTP请求HTTP响应获得页面响应伪装用户访问打包数据爬取豆瓣top250 HTTP请求 HTTP:HypertextTransferProtcol 超文本传输协议 1、请求行 POST/user/info?new_usertrue HTTP/1.1#资源了路径user/info 查询参数new_usertrue 协议版本HTTP/1.1 2、请求头 Ho…...
打造自己的前端组件库(奶妈版,超详细)
打造自己的前端组件库 demo是开源的,自己上npm 或者 github 上都能搜到 新建vue项目(sass js vue2) vue create yt-ui 修改文件目录(如下) 修改: 1.src 更名 examples; 2. src/components移动到项目最外层;3.vue.config.js更改入口文件 /…...
6.调制阶数相关
1、调制阶数与峰均比的关系 调制阶数(modulation order)对峰均比(有一定的影响。 峰均比是用于衡量调制信号或波形在幅度上的动态范围的指标。它表示信号的最大峰值与平均功率之间的比值。较高的峰均比可能导致信号在传输或放大过程中出现过…...
Maven多模块管理(转载)
注意:父模块需设定打包方式为pom https://cloud.tencent.com/developer/article/1667275 dependencyManagement 统一管理子类依赖版本 在父类maven中加入,不会继承给子类,只能规定子类的依赖版本,子类加入dependence后无需写入 …...
运维学习CentOS 7进行Nightingale二进制部署
.因为Nightingale需要MySQL保存一些数据,所以可以参考《CentOS 7.6使用mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar安装Mysql 8.0》部署MySQL。 https://github.com/ccfos/nightingale/releases是可以github上下载Nightingale二进制安装包。 https://n9e.github.io/…...
安装Docker
本安装教程参考Docker官方文档,地址如下:https://docs.docker.com/engine/install/centos/ 卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \ docker-client \ docker-client-latest \ docker-common…...
【uniapp/uView】解决消息提示框悬浮在下拉框之上
需要实现这样的效果,即 toast 消息提示框在 popup 下拉框之上: 解决方法,把 <u-toast ref"uToast" /> 放在 u-popup 里面即可,这样就可以提升 toast 的优先级: <!-- 弹出下拉框 --><u-popu…...
有效管理token,充分发挥ChatGPT的能力
目录 给提供了 Token 的计算工具,来理解一下Token的计算方式,网址如下: 窗口如下: 实际消耗 Token 数量为 59个,换算之后为2.1-2.2的比例,即一个汉字消耗2.12.2个Token, 再测一下英文的Token消耗,包含空格在内,一共52个英文字母,消耗Token 13个,正好对应13个单词,…...
Python —— 验证码的处理执行JavaScript语句
1、验证码的处理 1、概述&绕过验证码的方案 很多的网站都在登录页面加入了识别文字,识别图片,拖动拼图的验证码方式来防止爬虫、恶意注册 等,如果是做自动化,需要绕过验证码才能进入下一步操作,那么有4种方案可以…...
MS12_020 3389远程溢出漏洞
1.search ms12_020 搜索ms12_020 2.use auxiliary/scanner/rdp/ms12_020_check 检查是否存在ms12_020漏洞 show options 查看所需参数 set RHOSTS x.x.x.x 设置目标IP地址 run 执行 检测出来有Ms12_020漏洞 3.use auxiliary/dos/windows/rdp/ms12_020_maxchannelids 选择…...
Pytorch ddp切换forward函数 验证ddp是否生效
DDP及其在pytorch中应用 ddp默认调用forward函数,有些模型无法使用forward函数,可以对模型包装一下。 class modelWraper(nn.Module):def __init__(self, model):super().__init__()self.model modeldef forward(self, *args, **kwargs):return self.…...
C++中按引用向函数传递参数
C中按引用向函数传递参数 在参数传递过程中,如果实参与引用参数不匹配,C将生成临时变量。当前,仅当参数为 const 引用时,C才允许这么做,但以前不 是这样。如果引用参数是 const,则编译器将在下面两种情况…...
【Asp.net】Asp.net core中IIS配置注意事项
1、应用地址池设为无托管代码 一、提示:关于IIS上运行ASP.NET Core 站点的“HTTP 500.19”错误 安装dotnet-hosting-3.1.2-win.exe ASP.NET Core 3.1 Runtime (v3.1.2)下载地址: https://download.visualstudio.microsoft.com/download/pr/dd119832-dc4…...
Redis实现附近商户
GEO数据结构的基本用法 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: GEOADD:添加一个地理空间信息…...
【COMP305 LEC 3 LEC 4】
LEC 3 A basic abstract model for a biological neuron 1. Weights of connections Neuron gets fired if it has received from the presynaptic neurons 突触前神经元 a summary impulse 脉冲, which is above a certain threshold. Signal from a single synapse突触 ma…...
国密https访问
前言 现在的SSL的加密算法实际上主要是国际算法,包括JDK,Go等语言也仅支持国际算法加密(毕竟是国外开源项目),hash。随着国密算法的普及,比如openssl就支持国密了,还要新版本的Linux内核也开始…...
31二叉树-递归遍历二叉树
目录 LeetCode之路——145. 二叉树的后序遍历 分析 LeetCode之路——94. 二叉树的中序遍历 分析 LeetCode之路——145. 二叉树的后序遍历 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出…...
【【萌新的FPGA学习之管脚设定xdc文件】】
萌新的FPGA学习之管脚设定xdc文件 xdc文件可以自己设置 也可以匹配 我们根据正点原子的流水灯管脚设定 主要讲述一下 各个英文设计是什么意思 Name:工程中顶层端口的名称。 Direction:说明管脚是输入还是输出。 Neg Diff Pair:负差分对&…...
tomcat---动静分离
访问静态和动态页面分开 实现动态的静态页面负载均衡 实验一 准备阶段:三台虚拟机 nginx代理服务器 :20.0.0.40 tomcat1 :20.0.0.50 tomcat2:20.0.0.51 配置关闭虚拟机防火墙和安全机制 systemctl stop firewalld setenf…...
Spring MVC(一)【什么是Spring MVC】
重点 Spring:IOC 和 AOP 。 Spring MVC :Spring MVC 的执行流程。 SSM 框架的整合! Spring 和 Mybatis 我们不建议使用太多注解,Spring MVC 建议全部使用注解开发! 1、MVC 回顾 1.1、什么是MVC MVC是模型(Model)…...
避开Verilog新手村陷阱:Hdlbits刷题时最容易犯的5个语法错误及调试技巧
避开Verilog新手村陷阱:Hdlbits刷题时最容易犯的5个语法错误及调试技巧 深夜的显示器前,你盯着Hdlbits的报错信息已经半小时——这已经是今晚第七次编译失败。Verilog语法看似简单,但那些隐藏在细节中的陷阱总能让初学者抓狂。本文将解剖五个…...
Windows任务栏美化革命:用TranslucentTB解锁桌面个性化新维度
Windows任务栏美化革命:用TranslucentTB解锁桌面个性化新维度 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 厌倦了Windows任…...
如何快速掌握SCP单细胞分析工具:面向生物学家的完整实战指南 [特殊字符]
如何快速掌握SCP单细胞分析工具:面向生物学家的完整实战指南 🧬 【免费下载链接】SCP An end-to-end Single-Cell Pipeline designed to facilitate comprehensive analysis and exploration of single-cell data. 项目地址: https://gitcode.com/gh_m…...
采取一个系统化方法来分析和处理数据_(充电桩local信息、时间、车辆状态、SOC、电流、电压等信息)之城市电动汽车充电桩数据集 数据预处理、特征工程、探索性数据分析
采取一个系统化方法来分析和处理数据_(充电桩local信息、时间、车辆状态、SOC、电流、电压等信息)之城市电动汽车充电桩数据集 数据预处理、特征工程、探索性数据分析 文章目录以下文字及代码仅供参考。1. 数据理解与准备加载原始数据合并数据2. 数据清理与特征工程数据清洗特征…...
别再瞎调了!Fluent瞬态计算时间步长设置保姆级指南(附自适应步长技巧)
Fluent瞬态计算时间步长设置:从理论到实战的完整避坑手册 刚接触CFD瞬态模拟时,最令人头疼的莫过于时间步长的设置——太小了计算效率低下,太大了结果失真。我曾见过一位工程师为了模拟10秒的流动现象,设置了0.001秒的时间步长&am…...
L2Cache 2.x升级踩坑记:从JDK8到17,配置项变化与热key探测实战
L2Cache 2.x升级实战:从JDK8到17的配置迁移与热key治理 最近在将项目从JDK8升级到JDK17的过程中,我们不得不面对L2Cache从1.x到2.x版本的迁移挑战。这个过程中遇到了不少"坑",也积累了一些实战经验,今天就来分享一下从配…...
重新定义操作效率:macOS自动点击器的生产力革命
重新定义操作效率:macOS自动点击器的生产力革命 【免费下载链接】macos-auto-clicker A simple auto clicker for macOS Big Sur, Monterey, Ventura, Sonoma and Sequoia. 项目地址: https://gitcode.com/gh_mirrors/ma/macos-auto-clicker 想象一下&#x…...
解密Beyond Compare 5:3种高效密钥生成方案深度解析
解密Beyond Compare 5:3种高效密钥生成方案深度解析 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen BCompare_Keygen是一个开源项目,专门用于生成Beyond Compare 5.x版本…...
yfinance终极指南:轻松获取雅虎财经数据的Python利器
yfinance终极指南:轻松获取雅虎财经数据的Python利器 【免费下载链接】yfinance Download market data from Yahoo! Finances API 项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance 在量化投资和金融数据分析领域,获取准确、及时的金融…...
告别玄学调参:用Python+EXIT图可视化分析你的LDPC码性能
告别玄学调参:用PythonEXIT图可视化分析你的LDPC码性能 在通信系统设计中,LDPC码因其接近香农限的性能而备受青睐。然而,许多工程师在实际调参过程中常常陷入"试错-仿真-再试错"的循环,不仅效率低下,也难以系…...
