简单的爬虫脚本编写

一、数据来源分析

想爬取一个网站的数据,我们首先要进行数据分析。通过浏览器F12开发者工具栏进行抓包,可以分析我们想要的数据来源。

通过关键字搜索,可以找到相对应的数据包

二、爬虫实现

需要用到的模块为:request,parsel

1.发送请求

    模拟浏览器对于分析得到的URL地址发送请求,返回响应包

url = 'https://example.com'
#浏览器F12查看网络,请求头中可以查看User-Agent,目的是实现浏览器标识,请求合法化
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0'}
#使用request,将响应数据传入res变量
res = requests.get(url=url,headers=headers)

2.获取数据

    获取响应的数据包

#创建Selector对象后,你可以使用它来提取网页中的特定数据。例如,你可以使用XPath或CSS选择器来查找元素:
selector = parsel.Selector(res.text)

3.解析数据

    解析数据内容,获取我们想要的内容。

    创建Selector对象后,你可以使用它来提取网页中的特定数据。可以使用XPath或CSS选择器来查找元素

trs = selector.css('CSS选择器')#遍历每一组数据for tr in trs:#获取每一行的第一个数据first = tr.css('td:nth-child(1)::text').get()#将每一个数据写插入列表example_list.append(first)

4.保存数据

将爬取下来的目标数据进行保存.

with open('example.txt','w',encoding=utf-8') as f:for item in example.list:f.write(str(item) + '\n')

在使用with语句打开文件时,不需要显式调用f.close()来关闭文件。with语句会在代码块执行完毕后自动关闭文件。

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

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

相关文章

Acrobat Pro DC 2023(pdf免费转化word)

所在位置 通过网盘分享的文件:Acrobat Pro DC 2023(64bit).tar 链接: https://pan.baidu.com/s/1_m8TT1rHTtp5YnU8F0QGXQ 提取码: 1234 --来自百度网盘超级会员v4的分享 安装流程 打开安装所在位置 进入安装程序 找到安装程序 进入后点击自定义安装,这里…

了解什么是Python(简介)

Python是一种广泛使用的高级编程语言,由Guido van Rossum于1991年首次发布。它以其简洁、易读的语法和强大的功能而闻名,适用于各种类型的软件开发。以下是Python的一些主要特点: 1. 简洁易读的语法 Python的设计哲学强调代码的可读性&…

sql中的聚合函数

SQL中的聚合函数用于对表中的数据进行汇总计算,常用来生成统计信息,例如总和、平均值、最大值、最小值等。它们通常与GROUP BY子句一起使用,以对数据分组后再计算聚合结果。 以下是SQL中常用的聚合函数及其详细讲解: 1. COUNT( )…

Java函数式编程学习笔记

函数式编程-Stream流 1. 概述 1.1 为什么学? 能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱 下面是没有使用函数式编程的代码: //查询未成年作家的评分在70以上的书籍 由于洋流影响所以作家和书籍可能出现重复,需…

Centos 7 安装wget

Centos 7 安装wget 最小化安装Centos 7 的话需要上传wget rpm包之后再路径下安装一下。rpm包下载地址(http://mirrors.163.com/centos/7/os/x86_64/Packages/) 1、使用X-ftp 或者WinSCP等可以连接上传的软件都可以首先连接服务器,这里我用的…

.NET 9.0 中 System.Text.Json 的全面使用指南

以下是一些 System.Text.Json 在 .NET 9.0 中的使用方式,包括序列化、反序列化、配置选项等,并附上输出结果。 基本序列化和反序列化 using System; using System.Text.Json; public class Program {public class Person{public string Name { get; se…

[C/C++] 定位新表达式 placement new

在C中,表达式 new (ptr) T(); 展示了一种特殊的内存分配和对象构造方式,这被称为定位新表达式(placement new)。 通常,当我们使用 new 关键字时,它会在堆上动态分配内存,并调用相应的构造函数来…

前端页面一些小点

案例一&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>快递单号查询</title><…

PCL 三维重建 泊松曲面重建算法

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 法线估计 2.1.2 泊松曲面重建 2.1.3可视化重建结果 2.2完整代码 三、实现效果 3.1原始点云 3.2重建后点云 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战…

机器学习的概览

笔记内容侵权联系删除 机器学习算法 机器学习(包括深度学习分支)是研究“学习算法”的一门学问。所谓“学习”是指:对于某类任务T和性能度量P&#xff0c;一个计算机程序在T上以P衡量的性能随着经验E而自我完善&#xff0c;那么我们称这个计算机程序在从经验E学习。 机器学习…

【MySQL】MySQL的笛卡尔积现象是什么?简单说说

笛卡尔积好像是个科学家&#xff0c;也是个学术概念&#xff0c;在MySQL中表示交叉连接&#xff0c;即&#xff1a;匹配一切所有的可能 举例如下&#xff1a; 准备两张表 【employee表】 emp_idlast_namedept_id1Smith12Johnson2 【department表】 dept_iddepartment_nam…

spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索

一、背景 es索引有一个文档CourseIndex&#xff0c;下面是示意: creatorIdgradesubjectnameno1002270英语听力课程一N00232DS91004380数学口算课程N00209DK71003480物理竞赛课程N00642XS21002280英语听力课程二N00432WS31002290英语听力课程三N002312DP5 在搜索的时候&#…

MIT6.5840 Lab 1: MapReduce(6.824)

结果 介绍 在本实验中&#xff0c;您将构建一个MapReduce系统。您将实现一个调用应用程序Map和Reduce函数并处理文件读写的工作进程&#xff0c;以及一个将任务分发给工作进程并处理失败的工作进程的协调进程。您将构建类似于MapReduce论文的东西。&#xff08;注意&#xff1a…

MYSQL- 展示事件信息 EVENTS 语句(十八)

13.7.5.18 SHOW EVENTS 语句 SHOW EVENTS[{FROM | IN} schema_name][LIKE pattern | WHERE expr]此语句显示有关事件管理器事件的信息&#xff0c;这些信息在第23.4节“使用事件调度器”中进行了讨论。它要求显示事件的数据库具有EVENT权限。 以最简单的形式&#xff0c;SHOW…

WPF Gif图谱 如果隐藏的话会存在BUG

<hc:GifImageWidth"110"Height"110"Margin"20,20,0,0"Stretch"None"Uri"./../WPF/Asset/Image/fire_on.gif"Visibility"{Binding FireVisibility}" />FireVisibility 初始状态必须为&#xff1a;Visibility…

nfs服务器--RHCE

一&#xff0c;简介 NFS&#xff08;Network File System&#xff0c;网络文件系统&#xff09;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计 算机&#xff08;不同的计算机、不同的操作系统&#xff09;之间通过TCP/IP网络共享资源&#xff0c;主要在unix系…

Linux驱动开发——设备树随记

Linux驱动开发——设备树随记 前言 在嵌入式Linux这块&#xff0c;对设备树一直都没怎么去了解&#xff0c;一直是模模糊糊的。所以最近也是被老大赶鸭子上架&#xff0c;快速跟着正点原子的驱动开发的课程学了一下。感觉对设备树的认识也是更清晰了一点。同样借着此篇博客记…

Uni-APP+Vue3+鸿蒙 开发菜鸟流程

参考文档 文档中心 运行和发行 | uni-app官网 AppGallery Connect DCloud开发者中心 环境要求 Vue3jdk 17 Java Downloads | Oracle 中国 【鸿蒙开发工具内置jdk17&#xff0c;本地不使用17会报jdk版本不一致问题】 开发工具 HBuilderDevEco Studio【目前只下载这一个就…

[每日一氵] PySpark 的 log GC 部分是什么意思

2024-11-15T11:10:40.2920800: 2850.503: [GC (Allocation Failure) [PSYoungGen: 142705K->3472K(141312K)] 1403514K->1264289K(1543168K), 0.0170225 secs] [Times: user0.05 sys0.00, real0.01 secs] 这一行日志来自Java的垃圾收集器&#xff08;Garbage Collector, …

sslSocketFactory not supported on JDK 9+

clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9 at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.kt:61) at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.kt:751) at 1.升版本4.9.3以上 2、加个函数获取X…