python爬虫基础知识之选择器

Python爬虫入门(DAY4)选择器selector创建(re/XPATH/Beautiful Soup/css/parser)(难点) 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为\"元字符\"),是计算机科学的一个概念。即通过我们规定好的提取规则,将HTML文档中的一些特殊资源片段(类似有css,xpath,下载资源地址等)提取出来,这些资源再经过后续处理美化(比如下载,保存,求和,统计等),就可以得到我们最终需要的资源。2.id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的。 阅读详情

1          选择器

ID

1.1         Class

属性选择器:可以指定值来选择

后代选择器(包含选择器)

子选择器

 

 

1.2         Xpath

使用路径表达式在xml中进行导航

 

 

1.3         Xpath和css的区别:

Css更简洁

Xpath文件路径,看作目录树

XPath谓语很强大

 

 

1.4         Json

类似xml,但是更小更简洁

很方便,把字符串和字典来回切换

 

2          Xml处理的两种模式dom和sax的优劣

Dom把整个xml读入内存,解析为树,占用内存大, 解析慢

Sax流模式,边读边解析,占用内存小,解析快

Xml处理爬虫的三个重要内容:标签,属性,内容,处理方式主要是dom和sax

 

3          Xml—xpath—dom/sax

3.1         通过dom处理

小文本,处理的方便

#获取根节点

doc=minidom.parse('book.xml')

root=doc.documentElement

print(type(root))

print(dir(root))

print(root.nodeName)

books=root.getElementsByTagName('book')

for book in books:

 titles=book.getElementsByTagName('title')

 prices=book.getElementsByTagName('price')

 title=titles[0].childNodes[0].nodeValue

 price=prices[0].childNodes[0].nodeValue

 print(title,price)


3.2         Sax爬虫

自己维护层级关系

处理大文本效率很高

一开始写DefaultSaxHandler

实现三个方法:start_element, end_element,char_data

 

4          正则表达式

方便的检查一个字符串是否与某种模式匹配

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

函数语法:

re.match(pattern, string, flags=0)

 

5          selenium

主要用于测试,简单的爬虫比较合适

用于爬虫的两个命令:find_element(s)_by_tag_name

Find_element(s)_by_css_selector

如果直接用request,不能处理js,也就是不能处理动态网页,而selenium可以动态调动模拟浏览器

 

python爬虫数据解析-css选择器 数据解析 结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jIC2hGv9-1597472766582)(assets/1560577029244.png)] 半结构化数据 非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档等。 http://www.bejson.com/jsonedi 阅读详情

相关推荐

python爬虫(上课笔记)

爬虫概述 爬虫:网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。其本质就是通过编写程序拟浏览器上网,抓取数据的过程。 爬虫特点 在法律中都是不被禁止的; 具有违法风险; 爬虫是一个博弈的过程(反爬机制、反反爬策略) robots协议:规定了网站中哪些数据可以被爬取哪些数据不可以被爬取,属于一个君子协议。 爬虫分类 按照系统结构和实现技术,大致可以分为以下几种类型: 通用爬虫:通常抓取互联网整张页面数据; 聚焦爬虫:选择性地爬取与预定主题相关的网络爬虫; 增量式爬虫:监测网站中数据的

qq_56478267的博客 7199

Python爬虫(5)css选择器

CSS选择器 伪类 伪元素 组合选择器 CSS实例

qq_34786604的博客 5073

Python 爬虫入门(十):Scrapy选择器「详细介绍」

欢迎来到“Python 爬虫入门”系列文章。在网络爬虫中,选择器是解析和提取网页内容的重要工具,不同的选择器有不同的特点和应用场景。CSS选择器、XPath选择器、正则表达式和PyQuery选择器,并结合具体实例讲解如何在Scrapy中使用这些选择器来提取数据。为了更好的展示,我们将使用的数据。不同的选择器有不同的特点和适用场景。通过掌握CSS选择器、XPath选择器、正则表达式和PyQuery选择器的使用方法,可以有效地提取网页中的数据。

blues_C的博客 2427

python爬虫中的数据分析------css选择器详解

python爬虫中的数据分析------css选择器详解

m0_74459049的博客 2420

网络爬虫基础教程 Web scraping using Beautiful soup in Python: An introduction

作者:禅与计算机程序设计艺术 1.简介 1.1什么是web scraping? Web scraping,即网络爬虫,是一个广义的概念,包括从互联网上抓取信息、数据等过程。Web scraping可以用来获取特定网站的数据、进行数据分析、

AI天才研究院 263

【Python爬虫(11)】从入门到精通:CSS选择器在Python爬虫中的深度解析(豆瓣电影实例)

CSS 选择器是 CSS(层叠样式表)中用于选择 HTML 文档中元素的一种模式,它在网页样式控制中起着核心作用。通过 CSS 选择器,开发者可以精确地指定哪些 HTML 元素应该应用特定的样式规则,从而实现对网页外观的细致控制,比如改变文本颜色、字体大小、背景颜色、元素布局等。在 Python 爬虫领域,CSS 选择器同样是一种强大的工具,用于在 HTML 或 XML 文档中定位和提取所需的数据。

邓邓子的博客 2027

Python爬虫之选择器篇一,容易被忽视的强大的选择器 BeautifulSoup 。它支持CSS、re 的综合筛选。讲的超细!图文并茂!缺点速度较慢。

新手学Python爬虫篇一,小白入门requests,一个被忽视的强大的选择器: BeautifulSoup ,它支持CSS、re 的综合筛选。讲的超细!图文并茂。爱上BeautifulSoup 不是没有道理的! 写法真的非常的简洁!舒适!

aoeryule的博客 3264

深入理解Python网络爬虫与Scrapy框架实战指南

随着大数据时代的到来,网络爬虫技术成为了信息采集的重要手段。Python网络爬虫是利用Python编程语言,通过模拟用户访问网络数据,并从中提取有价值信息的自动化脚本。因其简洁的语法、强大的库支持,Python已成为网络爬虫开发者的首选语言。在开始使用Scrapy之前,首先确保你的开发环境中安装了Python。Scrapy是用Python编写的,它对Python的版本有一定的要求。Scrapy支持Python 3.6及以上版本,因此需要确保系统中安装了对应的Python环境。

weixin_42502040的博客 781

浅谈Python网络爬虫

一 相关背景 网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一段用来自动化采集网站数据的程序。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络爬虫不仅能够为搜索引擎采集网络信息,而且还可以作为定向信息采集器,定向采集某些网站下的特定信息,如:汽车票价,招聘信息,租房信息,微博评论等。 二 应用场景 图1 应用场景 爬虫技术在科学研究、Web安全、产品研发、舆情监控等领域可以做很多事情。如:在数据挖掘、机器学习、图像处理等科学研究领域,如果没有数据,则可以

weixin_46737755的博客 537

从零搭建ROS机械臂仿真环境:Ubuntu 20.04+Noetic下配置睿尔曼RM65的完整流程

本文详细介绍了在Ubuntu 20.04系统中,基于ROS Noetic搭建睿尔曼RM65机械臂的完整仿真环境。从环境准备、工作空间创建到MoveIt!配置与Gazebo仿真环境集成,提供了完整的流程和优化建议,帮助开发者高效实现机械臂仿真与调试。

v6b7n8m9q0的博客 933

[信号与系统]一阶与二阶连续时间系统和离散时间系统

定义:一阶连续时间系统由一阶线性常系数微分方程描述: dy(t)dt+ay(t)=bx(t) \frac{dy(t)}{dt} + a y(t) = b x(t) dtdy(t)​+ay(t)=bx(t)时间常数:时间常数 τ=1a\tau = \frac{1}{a}τ=a1​ 是系统响应速度的衡量指标。时间常数越小,系统响应越快。冲激响应:一阶系统的冲激响应是指数衰减或增长的形式。例如,对于一个单位冲激输入,响应为: h(t)=bae−at h(t) = \frac{b}{a} e^{-at} h(t)=

Andius的博客 2122

python selenium爬虫效率_浅谈Python网络爬虫

一 相关背景网络爬虫(WebSpider)又称网络蜘蛛、网络机器人,是一段用来自动化采集网站数据的程序。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络爬虫不仅能够为搜索引擎采集网络信息,而且还可以作为定向信息采集器,定向采集某些网站下的特定信息,如:汽车票价,招聘信息,租房信息,微博评论等。二 应用场景图1 应用场景爬虫技术在科学研究、Web安全、产品研发、舆情监控等...

weixin_39981400的博客 980

智能车视觉算法实战:十字路口与弯道拐点的精准识别

本文深入探讨了智能车视觉导航中十字路口与弯道拐点的精准识别算法。通过实战经验,详细解析了如何利用纵向巡线法生成边界数组,并从中高效提取“上拐点”与“下拐点”的关键特征。文章重点分享了提升算法鲁棒性的核心技巧,包括图像预处理、ROI设置、状态机应用及多特征融合,旨在帮助开发者实现智能车在复杂路况下从“看见”到“看懂”的稳定决策。

weixin_29061465的博客 633

爬虫取中间文本_【实战No.2】1小时打造你自己的网络爬虫

新年好爬虫离我们生活很近,诺基亚时代正是爬虫的帮助才成就了那么多网络小说。同时,它也是一门很简单的技术,但可能涉及到编程,很多朋友就认为学之不易。前天David来南京“跨年”,我就找到以前看网课的笔记,1小时帮助他完成了自己爬虫的编写,借着机会我也就将其整理成文,各位集中精力,抽两局吃鸡的时间不仅可以掌握一个有用的小技术,还可以熟悉python语言特性,产生对编程的兴趣。爬虫原理...

weixin_39996141的博客 476

Stm32L0 STM32CUBE中UART和使用LPUART1以及串口不进中断问题解决

/* 开启串口1中断 */ LL_USART_EnableIT_RXNE(LPUART1); /* 开启串口2中断 */ LL_USART_EnableIT_RXNE(USART2);

シ❤゛甜虾的个人博客 7687

PX4笔记系列(二)vtol_att_control中的tiltrotor解析

update_vtol_state() 注释:采用两段切换的简单逻辑来进行过渡 当切换过渡开关后,飞机将会开始倾转动力,逐渐加速,当飞机获得足够速度后动力将会完全打到向前的位置。对于过渡返回阶段动力则是简单地倾转回来。 如果(不在向前过渡指令下): 当前vtol飞行模式: 1、旋翼模式 无操作 2、固定翼模式 令vtol飞行模式切换到过渡返回模式 3、P1过渡模式 进入过渡失败安全返回至旋翼模式 4、P2过渡模式 进入过渡失败安全返回至旋翼模式 5、过渡返回模式 记录过渡返回时间=当前时间-过渡开始

hypersonicss的博客 1880

Python进阶(十) -- 网络爬虫

下面我们对三种解析方式做一个简单比较。解析方式对应的模块速度使用难度正则表达式解析re快困难XPath 解析lxml快一般CSS 选择器解析bs4或pyquery不确定简单当你写了很多个爬虫程序之后,你会发现每次写爬虫程序时,都需要将页面获取、页面解析、爬虫调度、异常处理、反爬应对这些代码从头至尾实现一遍,这里面有很多工作其实都是简单乏味的重复劳动。那么,有没有什么办法可以提升我们编写爬虫代码的效率呢?

zzt3344的博客 618

Diffusion Model进阶解析:从SDE到概率流ODE的连续化生成建模

本文深入解析了Diffusion Model的连续化生成建模,从离散DDPM和SGM模型引入,阐述了采用随机微分方程(SDE)统一视角的必要性与优势。文章详细拆解了SDE的构成,揭示了其如何统一描述扩散过程,并重点介绍了逆向SDE与确定性的概率流ODE,后者为高效、确定的图像生成提供了理论基础。最后,文章对比了朗之万动力学、数值SDE求解器和数值ODE求解器(如DPM-Solver)等主流采样方法的实战应用与选择策略。

weixin_29099217的博客 437

python-爬虫

爬虫类,一篇通

adjnd的博客 696

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 813

linux 基于debian/ubuntu AB系统适配(二)-updateEngine移植

其实A/B系统的原理很简单,大部分的工作都集中在uboot上,rootfs只是起到一个辅助的作用,但这个作用也就必不可少的。你会发现在这个其中并没有kernel的参与。

badbayyj的博客 1033

爬虫学习总结

记录mac使用chromedriver的解决办法 优快云解决办法链接chr=webdriver.Chrome(r'/Users/a./opt/chromedriver/chromedriver') # 带完整路径的写法 我的插件所在地址/Users/a./opt/chromedriver/chromedriver 解决办法: 直接在新开窗口时候:r‘插件所在位置’ 记录mac在终端使用jupyter notebook 把要使用的目录在终端打开 输入:jupyter notebook ![image.p

Hz.的博客 3257

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python爬虫

使用程序模拟浏览器,向服务器发送请求,获取响应信息。

weixin_46047612的博客 2897

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python爬虫学习之旅:从入门到精通,要学多久?_python爬虫自学要多久(1)

这个案例涵盖了基本的爬取和数据处理过程,对于初学者来说是一个很好的起点。通过学习和实践这个案例,你可以逐步掌握Python爬虫的入门知识,并为进一步的学习和实践打下基础。入门阶段是学习Python爬虫的关键阶段,你需要掌握Python的基础知识和相关的库和工具。通过学习和实践简单的案例,你可以逐步掌握爬取和数据处理的基本流程,并为进一步的学习和实践奠定基础。希望这篇文章对你在学习Python爬虫的旅程中有所帮助。

2401_84563254的博客 804

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【爬虫系列】Python 爬虫入门(1)

入门爬虫的话,建议选择 requests + BeautifulSoup 模块。requests 模块是一个简单而优雅的 HTTP 库,用于处理请求和响应的,通常得到响应的数据大多数都是 HTML 文档形式,可使用 BeautifulSoup 模块解析 HTML 文档并提取其中想要的数据。

小确幸的博客 5654

python爬虫——基础知识

python爬虫——基础知识一、网页基础知识二、爬虫的思路1、HTML文档(超文本)三、ROBOTS协议四、浏览器发送HTTP请求的过程1、http请求过程2、请求五、SSL连接错误六、HTML标签层级结构七、选择器八、会话Cookies九、代理的基本原理代理:实现IP 伪装,反反爬虫 一、网页基础知识 在编写爬虫程序之前首先要了解一些必要的网页知识 二、爬虫的思路 提取数据来源: HTML文档 josn 数据 1、HTML文档(超文本) 每一份网页都是一份HTML文档,是一种文本标记语言 由一系

sinat_42247418的博客 652
上一篇: python 学习基础笔记
下一篇: python爬虫基础知识之requests,读取图片的两只方式,cookies,beautifulsoup
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值