实战1-python爬取安全客新闻
一般步骤:确定网站--搭建关系--发送请求--接受响应--筛选数据--保存本地
1.拿到网站首先要查看我们要爬取的目录是否被允许
一般网站都会议/robots.txt目录,告诉你哪些地址可爬,哪些不可爬,以安全客为例子

2. 首先测试在不登录的情况下是否请求成功

可见,该请求成功;有很多网站在没有登录的情况下是请求失败的,这时需要添加请求头信息,
注意:有的cookie 会根据时间戳生成,有的会失效
haders={},
2.1、首先 F12 到 Network 下,F5刷新 ,复制 Requests Headers然后把它转换成 json 格式

2.1.1 Requests Headers 转 json 格式有很多种方法
1. 在线转 json 格式的网站:在线HTTP请求/响应头转JSON工具 - UU在线工具
2.如果电脑没网 在终端下载:pip install feapder
feapder create -j

req=requests.get(url=url).text 是把所有的文本都提取出来,会很乱,所有我们需要筛选,整理一下
可以发现,我们需要的数据在 a 标签中
<a target="_blank" href="/post/id/291754">苹果委托进行数据泄露研究,以强调端到端加密的必要性</a>
数据多了id位数也可能会增加;也可以把id写死,根据291754是个六位数,所以 \d{6}只匹配 id是六位数的。
Title=re.findall(r'<a target="_blank" href="/post/id/\d+">(.*?)</a>',req)
\d+

注意代码格式
range() 取值 [ )

最终代码:
import re
import requests
#headers={}
url='https://www.anquanke.com/'
req=requests.get(url=url).text
# print(req)
dict={}
for i in range(1,20):dict['Title']=re.findall(r'<a target="_blank" href="/post/id/\d+">(.*?)</a>',req)[i]dict['url']=re.findall(r'<a target="_blank" href="(/post/id/\d+)">',req)[i]print(dict)

优化后的代码:
import re
import requests
url='https://www.anquanke.com/'
req=requests.get(url=url)
print(req.status_code)
req=req.text
dict={}
Title=re.findall(r'<a target="_blank" href="(/post/id/\d+)">(.*?)</a>',req)
# print(Title)
for title in Title:dict['Title']=title[1]dict['url']=url+title[0]print(dict)

相关文章:
实战1-python爬取安全客新闻
一般步骤:确定网站--搭建关系--发送请求--接受响应--筛选数据--保存本地 1.拿到网站首先要查看我们要爬取的目录是否被允许 一般网站都会议/robots.txt目录,告诉你哪些地址可爬,哪些不可爬,以安全客为例子 2. 首先测试在不登录的…...
光栅化渲染:可见性问题和深度缓冲区算法
在前面第二章中,我们了解到,在投影点(屏幕空间中的点)的第三个坐标中,我们存储原始顶点 z 坐标(相机空间中点的 z 坐标): 当一个像素与多个三角形重叠时,查找三角形表面上…...
docker入门小结
docker是什么?它有什么优势? 快速获取开箱即用的程序 docker使得所有的应用传输就像我们日常通过聊天工具文件传输一样,发送方将程序传输到超级码头而接收方也只需通过超级码头进行获取即可,就像一只鲸鱼拖着货物来回运输一样。…...
LLM Agent发展演进历史(观看metagpt视频笔记)
LLM相关的6篇重要的论文,其中4篇来自谷歌,2篇来自openai。技术路径演进大致是:SSL (Self-Supervised Learning) -> SFT (Supervised FineTune) IT (Instruction Tuning) -> RLHF。 word embedding的问题:新词如何处理&…...
Linux(操作系统)面经——part2
1、请你说说进程和线程的区别 1.进程是操作系统资源分配和调度的最小单位,实现操作系统内部的并发;线程是进程的子任务,cpu可以识别、执行的最小单位,实现程序内部的并发。 2.一个进程最少有一个线程或有多个,一个线程…...
Flink系列之:WITH clause
Flink系列之:WITH clause 适用流、批提供了一种编写辅助语句以在较大查询中使用的方法。这些语句通常称为公共表表达式 (CTE),可以被视为定义仅针对一个查询而存在的临时视图。 WITH 语句的语法为: WITH <with_item_definition> [ , …...
JMeter直连数据库
JMeter直连数据库 使用场景操作步骤 使用场景 用作请求的参数化 登录时需要的用户名,密码可以从数据库中查询获取 用作结果的断言 添加购物车下订单,检查接口返回的订单号,是否与数据库中生成的订单号一致 清理垃圾数据 添加商品后ÿ…...
Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装
一、MySQL数据库管理系统安装部署【简单】 简介 MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。 MySQL数据库可谓是软件行业的明星产品,无论是后端开发、…...
STL中set和multiset容器的用法(轻松易懂~)
目录 1. 基本概念 2. 构造和赋值 3. 大小和交换 4. 插入 和 删除 5. 统计 和 查找 6. set容器的排序 1. 基本概念 set和multiset属于关联式容器,底层结构式二叉树,所有元素都会在插入时自动排序。 如果你对容器的概念,或是二叉树不太了…...
Codeforces Round 915 (Div. 2)
Constructive Problems(Problem - A - Codeforces) 题目大意:现在有一片城市被摧毁了,需要进行重建,当一个城市水平相邻和竖直相邻的位置都至少有一个城市的时候,该城市可以被重建。所有城市排成n行m列的矩…...
C语言经典错误总结(三)
一.指针与数组理解 我们都知道定义一个数组然后对其进行各种想要的操作,但是你真的能够区分那些是对数组的操作,那些是通过指针实现的吗? 例如;arr[1]10;这个是纯粹对数组操作实现的吗? 答案肯定不是,实际上我们定义…...
Ubuntu系统入门指南:基础操作和使用
Ubuntu系统的基础操作和使用 一、引言二、安装Ubuntu系统三、Ubuntu系统的基础操作3.1、界面介绍3.2、应用程序的安装和卸载3.3、文件管理3.4、系统设置 四、Ubuntu系统的日常使用4.1、使用软件中心4.2、浏览器的使用和网络连接设置4.3、邮件客户端的配置和使用4.4、文件备份和…...
MyBatis原理解读
我们项目中多用MyBatis进行数据库的读写,开源的MyBatis-Plus框架对其进行了增强,使用上更加简单,我们之前的很多项目也是直接用的MyBatis-Plus。 数据库操作的时候,简单的单表读写,我们可以直接在方法里链式组装SQL,复杂的SQL或涉及多表联合join的,需要在xml手写SQL语句…...
Linux---文本搜索命令
1. grep命令的使用 命令说明grep文本搜索 grep命令效果图: 2. grep命令选项的使用 命令选项说明-i忽略大小写-n显示匹配行号-v显示不包含匹配文本的所有行 -i命令选项效果图: -n命令选项效果图: -v命令选项效果图: 3. grep命令结合正则表达式的使用 正则表达式说明^以指…...
Unity中Shader语义的理解
前言 以下内容主要是个人理解,如有错误,欢迎严厉批评指正。 一、语义的形式在Shader中是必要的吗? 不是必要的。 使用HLSL和CG语言来编写Shader需要语义,使用GLSL编写Shader不需要。 二、语义的意义? 语义是什么&…...
Flink系列之:Top-N
Flink系列之:Top-N 一、TOP-N二、无排名输出优化 一、TOP-N 适用于流、批Top-N 查询可以根据指定列排序后获得前 N 个最小或最大值。最小值和最大值集都被认为是Top-N查询。在需要从批表或流表中仅显示 N 个底部或 N 个顶部记录时,Top-N 查询是非常有用…...
CSS的三大特性(层叠性、继承性、优先级---------很重要)
CSS 有三个非常重要的三个特性:层叠性、继承性、优先级。 层叠性 场景:相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突 的问题 原则: 样式冲突&am…...
飞天使-docker知识点10-docker总结
文章目录 docker 知识点汇总docker chatgpt解释学习路线cmd和 ENTRYPOINT 的区别harbor安装漏洞扫描 docker 知识点汇总 docker 基础用法 docker 镜像基础用法 docker 容器网络 docker 存储卷 dockerfile docker仓库 harbor docker-compose docker chatgpt解释学习路线 学习…...
旅游管理虚拟情景实训教学系统演示
首先,虚拟情景实训教学系统为旅游管理专业的学生提供了一个全新的实践平台。在传统的旅游管理教学中,学生往往只能通过理论学习来了解相关知识,而无法亲身实践。虚拟情景实训教学系统则可以通过模拟真实的旅游场景,让学生能够亲身…...
Linux Shell——输入输出命令详解
Shell 输入输出 1. read2. echo3. printf 总结 最近学习了shell相关语法,顺便总结一下关于shell的输入输出命令read和echo、printf。 1. read shell的输入命令,可以从标准控制台中读取一行,并把输入行中的每个字段赋值给指定的变量 可以看到…...
(2024实战指南)从零到一:CTFd平台部署、Docker动态靶场构建与动态Flag生成全解析
1. CTFd平台部署全流程解析 搭建CTF竞赛平台的第一步就是部署CTFd。作为目前最流行的开源CTF平台,CTFd支持动态靶机、题目管理、积分排名等核心功能。我去年为学校搭建竞赛平台时,发现最新版的CTFd在Docker部署上有些变化,这里分享下2024年最…...
仅限本周开放|DeepSeek Chat V3.2功能测试黄金 checklist(含17个边界Case+响应时延基线数据)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek Chat V3.2功能测试黄金 checklist 发布说明 DeepSeek Chat V3.2 已正式面向开发者开放灰度测试,本次版本聚焦多模态理解增强、长上下文稳定性优化及企业级安全策略集成。为保障测试…...
NotebookLM智能体插件:AI驱动的自动化知识处理与任务执行
1. 项目概述:当NotebookLM遇上智能体,知识处理的范式革命最近在AI圈子里,一个名为“notebooklm-agent-plugin”的项目引起了我的注意。乍一看,这个名字结合了Google的NotebookLM和当下火热的“智能体”(Agentÿ…...
基于SSE的轻量级实时通信库Hermes:Web应用实时消息推送实践
1. 项目概述:一个为Web应用量身打造的“信使”最近在折腾一个前后端分离的项目,后端服务部署在云端,前端应用则直接跑在用户的浏览器里。一个老生常谈的问题又摆在了面前:如何让前端能实时、可靠地获取后端的数据变更通知…...
基于MCP协议构建AI助手用户反馈闭环:从原理到工程实践
1. 项目概述:一个为AI助手“装”上用户反馈的桥梁最近在折腾AI应用开发,特别是想让大语言模型(LLM)驱动的助手能更“懂”用户。一个核心痛点出现了:助手处理完用户请求后,如何让用户方便地给出“好评”或“…...
小学生如何高效通过GESP七八级
GESP 7-8级是通往信息学竞赛复赛的关键跳板,对小学生而言,需结合科学规划、系统学习与真题实战。以下是高效通关路径: 一、明确目标:GESP 7-8级的核心价值 1、GESP C 7级 ≥80分 或 8级 ≥60分 → 可免CSP-J初赛&…...
AI驱动编辑预设生成:从风格迁移到创意工作流的自动化实践
1. 项目概述:AI驱动的编辑预设库最近在折腾视频和图片后期,发现一个挺有意思的项目,叫kaushalrao/ai-editor-presets。这名字听起来有点技术范儿,但说白了,它就是一个用人工智能技术来生成和优化各类编辑软件预设文件的…...
接入Taotoken后感受到的API调用延迟降低与错误率改善
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 接入Taotoken后感受到的API调用延迟降低与错误率改善 1. 背景与切换契机 作为一名长期在项目中集成大模型能力的开发者࿰…...
大语言模型百科全书:LLMSurvey项目解析与QLoRA微调实战
1. 项目概述:一份关于大语言模型的“百科全书”如果你最近在关注人工智能,特别是大语言模型(LLM)领域,那么你很可能已经感受到了信息过载的冲击。每天都有新的模型发布、新的评测榜单刷新、新的技术论文涌现。对于研究…...
从开源哲学到工程实践:探索Uncomfortable-filagree112/OpenViking的代码美学
1. 项目概述:当开源遇上“不适”的优雅最近在GitHub上闲逛,发现了一个名字相当有意思的项目:Uncomfortable-filagree112/OpenViking。初看这个标题,一股强烈的反差感扑面而来——“Uncomfortable”(不适)、…...
