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)…...
别只用来检测了!解锁YOLOv8的隐藏玩法:用CLI和Python API快速搞定图像分类与实例分割
别只用来检测了!解锁YOLOv8的隐藏玩法:用CLI和Python API快速搞定图像分类与实例分割 当大多数开发者还在用YOLOv8做基础目标检测时,真正的高手已经开始挖掘它的多任务潜力。想象一下:同一个框架下,既能完成像素级物体…...
3分钟完成B站缓存转换:m4s无损转MP4的完整解决方案
3分钟完成B站缓存转换:m4s无损转MP4的完整解决方案 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的困境&…...
别再折腾OpenVPN了!用Ubuntu 22.04 LTS快速搭建PPTP服务器(附Windows 11连接全流程)
Ubuntu 22.04 LTS下轻量级网络连接的替代方案 在远程办公和跨地域协作日益普遍的今天,安全稳定的网络连接成为刚需。虽然市场上有各种复杂的解决方案,但对于个人开发者和小型团队而言,往往需要的是快速部署、简单配置且资源占用低的连接方式。…...
如何用m4s-converter快速解决B站缓存视频播放难题:终极免费指南
如何用m4s-converter快速解决B站缓存视频播放难题:终极免费指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的…...
告别Flash资源提取困境:3分钟学会用JPEXS Free Flash Decompiler完整教程
告别Flash资源提取困境:3分钟学会用JPEXS Free Flash Decompiler完整教程 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler 你是否曾经面对一个珍贵的SWF文件,想要…...
别再只调PID了!从一场起重机大赛看机器人设计的系统思维:结构、电源与控制的平衡艺术
从起重机大赛看机器人设计的系统思维:结构、电源与控制的平衡艺术 在机器人设计领域,我们常常陷入对单一技术点的过度关注——比如如何优化PID参数、选择哪种传感器、使用什么控制算法。然而,真正决定一个机器人系统成败的,往往是…...
AMD硬件调试终极指南:使用SMUDebugTool实现性能调优
AMD硬件调试终极指南:使用SMUDebugTool实现性能调优 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…...
AI写专著实用指南:AI专著生成工具助力,打造20万字精品专著!
对于学术研究者来说,写作一本学术专著并不是一瞬间的灵感,而是一场漫长的“战斗”。从一开始的选题到构建合理的框架,再到逐字逐句的内容填充和引用文献的核对,每个环节都面临重重挑战。研究者不仅要在忙碌的教学和科研工作中挤出…...
因果AI如何重塑司法决策?从原理到实战全解析
因果AI如何重塑司法决策?从原理到实战全解析 引言 在人工智能浪潮席卷各行各业的今天,司法领域正站在智能化转型的关键路口。传统的法律科技工具多基于关联分析,虽能进行预测,却难以回答“为什么”,更无法模拟人类法…...
**基于Python的情绪识别实战:从数据预处理到模型部署全流程详解*
基于Python的情绪识别实战:从数据预处理到模型部署全流程详解 在人工智能快速发展的今天,情绪识别(Emotion Recognition) 已成为人机交互、智能客服、心理健康监测等场景的核心技术之一。本文将围绕 Python编程语言,深…...
