Python爬虫之lxml解析页面元素
2021/5/13 12:28:43
本文主要是介绍Python爬虫之lxml解析页面元素,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 一. 用lxml.etree 解析string为html格式
- 1、如果是用webdriver获取的页面源码,直接将源码字符串解析成html, 用etree.HTML()
- 2、如果是直接解析一个html文件: 使用etree.parse()
- 二. etree 与 Xpath
- 1、在chrome中在页面选择元素可以直接以xpath复制地址
- 2、html_code.xpath(xpath) 定位后返回的是一个列表,元素定位为空的时候列表返回为空
- 3、如果需要元素内的标签内容,如href等:
- 4、获取网站某个元素的xpath路径
一. 用lxml.etree 解析string为html格式
1、如果是用webdriver获取的页面源码,直接将源码字符串解析成html, 用etree.HTML()
from selenium import webdriver from lxml import etree url = "https://appexchange.salesforce.com/appxStore" browser = webdriver.Chorme() browser.get(url) page_code = browser.page_source html_code = etree.HTML(page_code) # 将page_code 字符串解析成html app_names_xpath = '//*[@id="appx-table-results"]/li[*]/a/span[2]/span[2]/span[1]/span[2]/span[1]' app_names = html_code.xpath(app_names_xpath) # 这里返回的app_names 是一个列表, 里面存储着所有匹配的选项,如果没有的话列表就为空 print(app_names[0].text)
2、如果是直接解析一个html文件: 使用etree.parse()
html_code = etree.parse("demo.html", etree.HTMLParser())
二. etree 与 Xpath
1、在chrome中在页面选择元素可以直接以xpath复制地址
2、html_code.xpath(xpath) 定位后返回的是一个列表,元素定位为空的时候列表返回为空
app_names_xpath = '//*[@id="appx-table-results"]/li[*]/a/span[2]/span[2]/span[1]/span[2]/span[1]' app_names = html_code.xpath(app_names_xpath) # 这里返回的app_names 是一个列表, 里面存储着所有匹配的选项,如果没有的话列表就为空 # text返回的是定位元素的文本内容 print(app_names[0].text)
定位有两种形式:
① 一种就是上面的定位元素,然后调用元素文本内容;
② 还有一种就是直接在定位元素的时候, 带上具体内容如:
# 第一种形式: app_names_xpath = '//*[@id="appx-table-results"]/li[*]/a/span[2]/span[2]/span[1]/span[2]/span[1]' app_names = html_code.xpath(app_names_xpath) print(app_names[0].text) 第二种形式: app_names_xpath = '//*[@id="appx-table-results"]/li[*]/a/span[2]/span[2]/span[1]/span[2]/span[1]/text()' app_names = html_code.xpath(app_names_xpath) print(app_names[0])
3、如果需要元素内的标签内容,如href等:
# 沿用上面的第二种形式:获取class属性的内容 ratings_path = '/html/body/div[1]/div[1]/div[1]/div/div/span[2]/div/ul/li[1]/a/span[1]/span[3]/span[2]/span[1]/span/span/@class' rating = html_code.xpath(ratings_path) print(rating[0])
4、获取网站某个元素的xpath路径
选取对应的元素, 右键copy -》copy xpath
这篇关于Python爬虫之lxml解析页面元素的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门