python——xpath

Python中xpath解析 文章目录简介安装本文示例的html代码使用实例化etreexpth表达式定位根据层级定位根据属性进行定位根据id进行定位根据索引号进行定位取值获取文本获取属性实例 简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。 安装 pip install lxml 本文示例的html代码 <div> <d 阅读详情

xpath介绍

在这里插入图片描述

节点关系

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

xpath快捷键chrome

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

lxml模块使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把数据存储到字典并保存csv

在这里插入图片描述
在这里插入图片描述

换一种方法取result的索引——index()

在这里插入图片描述
在这里插入图片描述

结果取到了:

在这里插入图片描述
在这里插入图片描述

豆瓣 top250 翻页爬取 链接、名字、评分、引言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拼接字符串

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结果出来有[],所以可以进行处理索引取值,做非空判断

在这里插入图片描述

f’{}'和{}.format()区别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码总汇:

from lxml import etree
import csv
import requests

# https://movie.douban.com/top250 第一页
# https://movie.douban.com/top250?start=25&filter= 第二页
# https://movie.douban.com/top250?start=50&filter= 第三页
# 所以第一页为:https://movie.douban.com/top250?start=50
# 规律:(page-1)*25

#
doubanUrl = 'https://movie.douban.com/top250?start={}'


def getSource(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36'
    }
    resp = requests.get(url, headers=headers)
    resp.encoding = 'utf-8'
    return resp.text


def geteveryItem(source):
    html_element = etree.HTML(source)
    movieItem = html_element.xpath('//div[@class="info"]')
    movieLst = []
    for eachMovie in movieItem:
        movieDict = {}
        # 电影名字
        title = eachMovie.xpath('./div[@class="hd"]/a/span[@class="title"]/text()')
        # 电影别名
        title2 = eachMovie.xpath('./div[@class="hd"]/a/span[@class="other"]/text()')
        # 评分  或者这样写://div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]
        score = eachMovie.xpath('div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()')
        if score:
            score = score[0]
        else:
            score = ''
        # 导语
        introd = eachMovie.xpath('div[@class="bd"]/p[@class="quote"]/span/text()')
        if introd:
            introd = introd[0]
        else:
            introd = ''
        # 链接url
        links = eachMovie.xpath('./div[@class="hd"]/a/@href')
        if links:
            links = links[0]

        movieDict['名称'] = ''.join(title + title2)
        movieDict['评分'] = score
        movieDict['导语'] = introd
        movieDict['链接'] = links
        movieLst.append(movieDict)
    return movieLst


def saveData(movieLst):
    with open('豆瓣top250', 'w', encoding='utf-8', newline='')as f:
        dwriter = csv.DictWriter(f, fieldnames=['名称', '评分', '导语', '链接'])
        dwriter.writeheader()
        dwriter.writerows(movieLst)


if __name__ == '__main__':
    movieLst = []
    for i in range(10):
        yeshu = doubanUrl.format(i * 25)
        source = getSource(yeshu)  # 在上面取完整的url后在这里爬取html,调用getSource函数
        movieLst += geteveryItem(source)  #把上面取到的完整25页html赋值到解析函数geteveryItem,并将它的值传给movieLst
    saveData(movieLst)
python之XPATH 数据准备工作有待后续更新url =#发送请求#读取html页面内容(请求得到的requestse.content.decode())#将html页面的内容转换成为xml文档对象#定位到包含条数数据所有内容的元素#对定位到包含所有元素的列表进行遍历,得到包含单条数据的元素#提供单条数据中的详细内容print(”电影的名称:",title[0],'评分:',score[0],评价人数:",number[0]) 阅读详情

相关推荐

SPEI计算避坑指南:gma中Distribution和FitMethod参数怎么选?

本文深入探讨了在SPEI计算中如何科学选择gma库中的Distribution和FitMethod参数,帮助研究者避开常见陷阱。详细分析了LogLogistic、Gamma和Pearson3三种分布的适用场景,以及LMoment与MLE拟合方法的优缺点,为气象干旱研究提供实用指南。

weixin_30308101的博客 250

在Edge中使用Xpath——更改快捷键

Xpath Edge 尚硅谷 爬虫 快捷键冲突 Web选择

qq_59153970的博客 9211

基于C#的机器人控制框架:如何将ROS与硬件集成

本文探讨了如何利用C#与ROS(Robot Operating System)集成开发机器人控制系统。通过ROSSharp库和rosbridge中间件,实现了C#与ROS的WebSocket通信,并展示了硬件控制模块的设计方法。文章详细介绍了电机控制的串口通信实现、ROS消息订阅机制,以及性能优化和容错处理策略,最终构建了一个智能小车控制框架的案例。这种C#与ROS的集成方案为机器人开发提供了跨平台支持,同时兼顾了系统的高效性和可靠性。

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

XPath解析

XPath是XML路径语言,是一门可以在XML文件中查找信息的语言

小马哥的博客 1259

别再为H桥烧MOS管发愁了!手把手教你用IR2104搭建稳定电机驱动(附自举电路详解)

本文详细解析了使用IR2104半桥驱动芯片构建高可靠H桥电机驱动电路的全过程。从芯片内部架构、自举电路原理到PCB布局技巧和实战调试方法,帮助工程师彻底解决MOS管烧毁问题。重点讲解了自举电容选型、死区时间控制等关键设计要点,并附有示波器实测波形分析,是电机驱动设计的实用指南。

我的博客 739

ABAP传输自定义IDOC实例

首先确定出站方和入站方,本例中我使用150作为发送方将200作为接收方。 发送端系统配置 进入tcode-SALE,点击定义逻辑系统,这里我定义D01CLNT150为发送端, D01CLNT200为接收端 2,将逻辑系统分配给对应的client 3,进入tcode-WE31,创建IDOC开发段(segment)这里可以按照实际需求创建想要传输的结构,为求简单我创建了ZKNA1并选取了几个客户主数据的字段作为示例 4,进入tcode-WE30,创建Idoc Ty...

Nathan的博客 4077

xpath的安装与使用

xpath软件包:链接:https://pan.baidu.com/s/1ighxbTNAWqobGpsX0qkD8w提取码:lkjh(若链接失效在下面评论,我会及时更新)

weixin_52010459的博客 2125

[技术解析] SGDC驱动的轻量级IoT入侵检测:特征选择与模型优化的实战指南

本文深入解析了如何利用SGDC驱动的轻量级入侵检测系统保护IoT设备安全。通过实战指南,详细阐述了SGDC模型在资源受限环境下的优势,并结合特征选择技术优化模型性能,实现高效、低耗的异常流量检测,为物联网安全部署提供了一套可行的解决方案。

weixin_29192211的博客 350

python中csv库_python爬虫系列之数据的存储(二):csv库的使用

上一篇我们讲了怎么用 json格式保存数据,这一篇我们来看看如何用 csv模块进行数据读写。一、csv简介CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用来存储表格数据,包括数字或者字符。csv的使用很广泛,很多程序都会涉及到 csv的使用,但是 csv却没有通用的标准,所以在处理csv格式时常常会碰到麻烦。...

weixin_39620629的博客 798

【WLAN】【调试】再谈如何使用Wireshark解密WiFi数据包——使用TK信息

- 本文介绍了一种wireshark使用TK信息解密空口报文的方式,该方式对是否有关联过程的报文没有要求。

一介草民,只为生活。 1188

Cadence 批量一次性修改title 页码标题

本文介绍如何在Cadence软件中对DSN文件进行标题栏的批量编辑操作,包括选择编辑对象、使用快捷键打开属性面板以及如何修改标题、页码等关键信息。

tianpu2320959696的博客 976

Python-CSV文件存储

CSV,全称为Comma-Separated Values,中文可以叫做逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔。每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或者制表符。不过所有记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。它比Excel文件更为简洁,XLS文本是电子表格,它...

秀呀秀的博客 2万+

USB_TYPE-C 母座电路设计

本文详细介绍了USB Type-C接口(C2765186)的电路设计要点,重点解析了电源、识别和数据三部分的关键连接方案。电源部分需并联VBUS和GND引脚并加宽走线以承载3A电流;识别部分必须为CC1/CC2引脚配置5.1kΩ±1%精度的下拉电阻,这是触发PD充电的核心条件;数据部分通过短接正反插引脚实现盲插功能。文档还提供了完整的引脚对照表,并强调PCB布局需注意ESD防护、差分走线阻抗控制等要点,为Type-C接口设计提供了实用指导。

在读研究生,FPGA电路设计与功能开发。 585

python爬虫之xpath入门

XPATH(XML Path Language),它可以在 XML 和 HTML文档中对元素和属性进行查找和遍历。XPath 使用路径表达式来选取 XML 文档中的节点或节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常类似。使用chrome 插件选择标签时候,选中时,选中的标签会添加属性class=“xh-highlight”

hjc_042043的博客 4721

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python爬虫实战之xpath解析

XPath是一门在XML文档中查找信息的语言,最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。所以在Python爬虫中,我们经常使用xpath解析这种高效便捷的方式来提取信息。

阿浩的博客 4万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python爬虫xpath教程_python爬虫 xpath多标签怎么写(python xpath教程)

python爬虫 xpath多标签怎么写加上其他条件,或者用element s, link_txt,containspython中如何将通过xpath提取部分html代码?或者有什么其他方法xpathpyquerybs4都可以,这几个的官网都有教程,自己先看看python selenium xpath 获取文本?html的内容: ...

weixin_39946029的博客 846

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Python Xpath解析 数据提取 基本使用

Python Xpath解析 数据提取 基本使用

EXIxiaozhou的博客 5286

python xml xpath定位_python之Xpath语法

python视频教程栏目介绍python的Xpath语法。一、XMl简介(一)什么是 XMLXML 指可扩展标记语言(EXtensible)XML 是一种标记语言,很类似 HTML。XML 的设计宗旨是传输数据,而非显示数据。XML 的标签需要我们自行定义。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准。W3School 官方文档:http://www.w3school.com.c...

weixin_39996762的博客 1060

python中使用XPath

使用范例参考这个http://www.tuicool.com/articles/z6NR32b 使用模块 from lxml import etree 读取xml文件为字符串形式 root = etree.fromstring(xml_str) 返回xml根元素,类型为Element root.xpath(xpath表达式) 返回xpath表达式结果,Element的list Element是Lib

zwt0909的博客 3746

Python中使用XPath

目录 XPath简介 XPath语法 选取节点 谓语(Predicates) 选取未知节点 选取若干路径 XPath 轴 XPath 运算符 使用lxml 摘自W3School官方文档:http://www.w3school.com.cn/xpath/index.asp XPath简介 XPath (XML Path Language)是一门在 HTML\XML 文档中查找...

pengjunlee的博客 4万+

python中无法安装xpath库,Python爬虫 | xpath的安装

错误信息:程序包无效。详细信息:“Cannot load extension with file or directory name. Filenames starting with "" are reserved for use by the system.”。1、找到Chrome安装程序路径,找到对应的插件image.png2、把crx后缀名改为rar,解压缩得到文件夹(有错误提示不用理会)...

weixin_33295562的博客 2551

python 页面script xpath_Python中利用xpath解析HTML的方法

在进行网页抓取的时候,分析定位html节点是获取抓取信息的关键,目前我用的是lxml模块(用来分析XML文档结构的,当然也能分析html结构), 利用其lxml.html的xpath对html进行分析,获取抓取信息。首先,我们需要安装一个支持xpath的python库。目前在libxml2的网站上被推荐的python binding是lxml,也有beautifulsoup,不嫌麻烦的话还可以自己...

weixin_39559369的博客 816

Python中利用xpath解析HTML

在进行网页抓取的时候,分析定位html节点是获取抓取信息的关键,目前我用的是lxml模块(用来分析XML文档结构的,当然也能分析html结构), 利用其lxml.html的xpath对html进行分析,获取抓取信息。   首先,我们需要安装一个支持xpath的python库。目前在libxml2的网站上被推荐的python binding是lxml,也有beautifulsoup,不嫌麻烦...

蒗若晨曦 2822

Python的Xpath

关于xpath的一些简单介绍

weixin_52034407的博客 830

python中xpath使用案例_python中使用XPath

XPath在Python的爬虫学习中,起着举足轻重的地位,对比正则表达式 re两者可以完成同样的工作,实现的功能也差不多,但XPath明显比re具有优势,在网页分析上使re退居二线。XPath介绍:是什么? 全称为XML Path Language一种小型的查询语言说道XPath是门语言,不得不说它所具备的优点:1) 可在XML中查找信息2) 支持HTML的查找3) 通过元素和属性进行导航pyt...

weixin_39606638的博客 490

Python爬虫xpath详解

一、xpath介绍 xpath是一门在 XML 文档中查找信息的语言。最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的搜索。所以在做爬虫时完全可以使用 XPath 做相应的信息抽取。 二、安装lxml lxml是Python的一个第三方解析库,支持HTML和XML解析,而且效率非常高,弥补了Python自带的xml标准库在XML解析方面的不足。 由于是第三方库,所以在使用 lxml 之前需要先安装:pip install lxml 三、xpath解析原理 1.实例化一个etre

境里婆娑 7744
上一篇: python简易爬虫
下一篇: python bs4 入门
brkalsy
博客等级 码龄6年 9粉丝 80原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值