爬虫笔记0

问题梳理:

  • <dl>:Definition List(定义列表)

  • <dt>:Definition Term(一般放标题)

  • <dd>:Definition Description(定义列表项,数据所在)

  • <ul>:Unordered List(无序列表)

  • <li>:List Item(列表项,数据所在)

*爬虫流程

  1. 发送请求(requests)(看url,header,*参数)
  2. 获取响应
  3. 解析数据(rexpathcss选择器),parsel集成三种方式
    1. re:re模块
    2. xpath:lxml模块
    3. css选择器:bs4模块
  4. 保存数据

* headers怎么找

抓包看请求该接口的参数,对照填写

需要传递的

  • User-Agent:模拟浏览器身份标识
  • Host:域名
  • Referer:访问来源
  • Cookie:验证身份(user= 100),保持登录状态

*翻页的用什么函数

抓包找接口,看数据来自哪个接口,模拟浏览器发送相同的请求

*后台返回的数据格式

1、后台传递样式 + 数据

css选择器

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>段落文本</title>
</head><body><h2 align="center">小说标题:鸿蒙主宰</h2><p align="left">混沌初开,乾坤始奠,武道起始。诸雄争霸!强者如云!世人只知源始一族,为天下共尊,却不知其为鹰犬。后世秦羽,封印绕身,一朝化龙.......</p>
</body>
</html>

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传]https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=images%2Fimage-20240527205556956.png&pos_id=img-8WsJ6HCJ-1719992708245))

2、后台只传递数据,样式由前端编写,统一组装

后端传递的

{"title":"鸿蒙主宰","content":"混沌初开,乾坤始奠,武道起始。诸雄争霸!强者如云!世人只知源始一族,为天下共尊,却不知其为鹰犬。后世秦羽,封印绕身,一朝化龙......."
}

前端编写的

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>段落文本</title>
</head><body><h2 align="center">小说标题:{{title}}</h2><p align="left">{{content}}</p>
</body>
</html>

如何下载后合并成一个TXT

import os
import redef merge_txt_files(directory, output_file):# 获取指定目录中的所有文件files = os.listdir(directory)# 使用正则表达式匹配文件名格式 1-xxx.txt, 2-xxx.txt, ...pattern = re.compile(r'^(\d+)-.+\.txt$')# 创建一个列表来存储匹配的文件和它们的序号matched_files = []for file in files:match = pattern.match(file)if match:# 获取文件的序号seq_num = int(match.group(1))matched_files.append((seq_num, file))# 按序号排序matched_files.sort()# 打开输出文件with open(output_file, 'w', encoding='utf-8') as outfile:for seq_num, filename in matched_files:file_path = os.path.join(directory, filename)with open(file_path, 'r', encoding='utf-8') as infile:content = infile.read()outfile.write(content)outfile.write('\n')  # 每个文件内容后添加换行符# 示例用法
# directory_path = 'path/to/your/directory'
directory_path = 'test'
# output_file_path = 'path/to/your/output_file.txt'
output_file_path = 'out.txt'
merge_txt_files(directory_path, output_file_path)
print('执行完成')

selector.css函数怎么使用? && Parsel怎么使用?

https://spa3.scrape.center/

iles(directory_path, output_file_path)
print(‘执行完成’)

## selector.css函数怎么使用? && Parsel怎么使用?略https://spa3.scrape.center/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这次发现的开源版本我愿意称之为最具学习价值的商城系统|商城源码点击进入

这是一款我发现的强大、灵活、易用的商城系统&#xff0c;成为我的的首选商城框架&#xff0c;让我的商城开发事半功倍&#xff01;这款开源商城项目具有多元的商业模式满足了任何使用场景的需求。 有S2B2C供应链商城、B2B2C多商户商城、O2O外卖商城、B2C单商户商城、社区团购、…

Hive查询优化 - 面试工作不走弯路

引言&#xff1a;Hive作为一种基于Hadoop的数据仓库工具&#xff0c;广泛应用于大数据分析。然而&#xff0c;由于其依赖于MapReduce框架&#xff0c;查询的性能可能会受到影响。为了确保Hive查询能够高效运行&#xff0c;掌握查询优化技巧至关重要。在日常工作中&#xff0c;高…

Python入门 2024/7/3

目录 for循环的基础语法 遍历字符串 练习&#xff1a;数一数有几个a range语句 三个语法 语法1 语法2 语法3 练习&#xff1a;有几个偶数 变量作用域 for循环的嵌套使用 打印九九乘法表 发工资案例 continue和break语句 函数的基础定义语法 函数声明 函数调用 …

使用CiteSpace软件对知网文献进行关键词共现/聚类/突现分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

前端进阶全栈计划:Spring扫盲

Spring扫盲 spring 和 springboot的关系? 类比前端&#xff1a;vue.js和nuxt.js的关系 Spring Boot 是基于 Spring 框架的快速开发工具&#xff0c;简化了 Spring 应用的配置和部署。 spring核心特性 1. 依赖注入 依赖注入是Spring框架的核心功能之一。它允许你通过配置将对…

如何在Java中实现任务调度

如何在Java中实现任务调度 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 任务调度的基础概念 任务调度在软件开发中是一个常见的需求&#xff0c;特别是在需…

Windows系统安装MySQL8.0.38

MySQL 8.0 相对于 MySQL 5.7 来说有几个显著的区别和改进&#xff0c;以下是一些主要的区别&#xff1a; JSON 数据类型和函数改进&#xff1a; MySQL 8.0 引入了更多的 JSON 支持&#xff0c;包括 JSON 数据类型、JSON 函数和操作符。这使得存储和查询 JSON 数据更加方便和高效…

从头开始构建 RAG 的 LLM 代理:综合指南

GPT-3、GPT-4 等 LLM 及其开源版本经常难以检索最新信息&#xff0c;有时会产生幻觉或不正确的信息。 检索增强生成 (RAG)是一种将 LLM 的强大功能与外部知识检索相结合的技术。RAG 使我们能够将 LLM 响应建立在事实、最新的信息之上&#xff0c;从而显著提高 AI 生成内容的准…

http包详解

http包的作用及使用 go的http包是go的web编程的核心内容&#xff0c;go的web框架本质上都是基于http提供的组件进行再度封装。我们来看一下http基本的使用&#xff1a; func main() {http.Handle("/get", GetVal())http.Handle("/hello", Hello())http.H…

Post请求方式获取亚马逊商品详情数据API(实时更新,缓存数据)

亚马逊商品详情数据接口&#xff08;Amazon Product Advertising API&#xff09;是亚马逊为开发者提供的一种服务&#xff0c;允许他们通过编程方式访问亚马逊网站上的商品信息。这些信息可以包括商品的详细描述、价格、库存状态、客户评价等。以下将详细阐述如何使用亚马逊商…

还敢乱买智能猫砂盆?今天扒一扒糯雪、鸟语花香、CEWEY智能猫砂盆!

在这高科技迅速发展的时代&#xff0c;连猫咪用来拉屎的屎盆子也变成了全自动化&#xff0c;从普通的猫砂盆变成了智能猫砂盆&#xff0c;让铲屎官再也不用每天赶回家铲屎给猫整理烂摊子&#xff0c;实在是非常轻松。所以那个时候的我也果断扔掉了家里的猫砂盆&#xff0c;转而…

电子电路学习笔记(4)三极管

部分内容参考链接&#xff1a; 电子电路学习笔记&#xff08;5&#xff09;——三极管_三极管 箭头-CSDN博客 模拟电子技术基础笔记&#xff08;4&#xff09;——晶体三极管_集电结的单向导电性-CSDN博客 硬件基本功-36-三极管Ib电流如何控制Ic电流_哔哩哔哩_bilibili MOS…

AI:开发者的助手还是替代者?

在人工智能&#xff08;AI&#xff09;迅速发展的今天&#xff0c;它对软件开发者的影响是一个备受争议的话题。本文将从AI工具的现状、对开发者的影响&#xff0c;以及AI开发的未来三个方向&#xff0c;探讨AI是在帮助开发者还是取代他们。 AI工具的现状 AI工具已经渗透到软…

论文学习_A Large-scale Empirical Study on theVulnerability of Deployed IoT Devices

论文名称发表时间发表期刊期刊等级研究单位A Large-scale Empirical Study on the Vulnerability of Deployed IoT Devices 2020年IEEE TDSCCCF A佐治亚理工大学1. 引言 研究背景:物联网(IoT)已成为互联网连接的重要组成部分,为我们的日常生活带来了极大的便利。与此同时…

使用DC/AC电源模块时需要注意的事项

BOSHIDA 使用DC/AC电源模块时需要注意的事项 1. 仔细阅读和理解产品说明书&#xff1a;在使用DC/AC电源模块之前&#xff0c;应该仔细阅读和理解产品说明书&#xff0c;了解其性能特点、技术要求和使用方法&#xff0c;以确保正确使用和避免潜在的安全风险。 2. 选择适当的电…

源代码编译安装LAMP

Apache简介 主要特点 开放源代码&#xff0c;跨平台应用 支持多种网页编程程序 模块化设计&#xff0c;运行稳定&#xff0c;良好得安全性 软件版本 1.X 目前最高版本是1.3&#xff0c;运行稳定 向下兼容性较好&#xff0c;但缺乏一些较新得功能 2.X 目前最高版本是2.4 …

PDF处理篇:如何调整 PDF 图像的大小

将视觉效果无缝集成到 PDF 中的能力使它们成为强大的通信工具。然而&#xff0c;笨拙的图像大小会迅速扰乱文档的流程&#xff0c;阻碍清晰度和专业性。幸运的是&#xff0c;GeekerPDF 和Adobe Acrobat等流行的应用程序提供了用户友好的解决方案来应对这一挑战。这个全面的指南…

Google 发布了最新的开源大模型 Gemma 2,本地快速部署和体验

Gemma 2 是 Google 最新发布的开源大语言模型。它有两种规模&#xff1a;90 亿&#xff08;9B&#xff09;参数和 270 亿&#xff08;27B&#xff09;参数&#xff0c;分别具有基础&#xff08;预训练&#xff09;和指令调优版本&#xff0c;拥有 8K Tokens 的上下文长度&#…

Vue3 特点以及优势-源码解剖

Vue3 特点以及优势-Vue3.4源码解剖 Vue3 特点以及优势 1.声明式框架 命令式和声明式区别 早在 JQ 的时代编写的代码都是命令式的&#xff0c;命令式框架重要特点就是关注过程声明式框架更加关注结果。命令式的代码封装到了 Vuejs 中&#xff0c;过程靠 vuejs 来实现 声明式代…

线性代数中的“过定系统”和“欠定系统”

过定系统 在线性代数中&#xff0c;当方程式的数量大于未知数的数量时&#xff0c;我们通常称这样的系统为“过定系统”&#xff08;Overdetermined System&#xff09;。这种情况下&#xff0c;系统往往没有精确解&#xff0c;即不存在一组未知数的值能够同时满足所有的方程。…