Python爬虫——解析插件xpath的安装及使用

这篇具有很好参考价值的文章主要介绍了Python爬虫——解析插件xpath的安装及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.安装xpath

2.安装lxml的库

3.xpath基本语法

4.案例一:获取百度网站的百度一下字样

5.案例二:爬取站长素材网上的前十页照片


1.安装xpath

打开谷歌浏览器 --> 点击右上角小圆点 --> 更多工具 --> 扩展程序

Python爬虫——解析插件xpath的安装及使用

 下载xpath压缩包,下载地址:阿里云盘分享

把压缩包解压到指定目录 --> 选择加载已解压的拓展程序 --> 选择刚才解压的路径目录

Python爬虫——解析插件xpath的安装及使用

 关闭谷歌浏览器,重新打开,使用快捷键:ctrl+shift+x 就可以看到浏览器上面的黑框了,此时说明配置成功。(注意:这个快捷键可能与其他浏览器的快捷键冲突,使用时可以关闭其他浏览器或者更改浏览器的快捷方式) 

Python爬虫——解析插件xpath的安装及使用

2.安装lxml的库

        想要使用xpath,我们还必须安装一个名为lxml的库,这个库安装的目录必须在python的解释器路径下。

        首先,我们查看python解释器的路径。打开pycharm --> file -->settings -->Project 

Python爬虫——解析插件xpath的安装及使用

         在文件夹中打开相应的目录,并且进入该目录下的命令窗口。

Python爬虫——解析插件xpath的安装及使用

         使用命令安装lxml库。

pip install lxml -i https://pypi.douban.com/simple

Python爬虫——解析插件xpath的安装及使用

         此时,我们安装lxml库就已经完成。

3.xpath基本语法

1. 路径查询
        //:查找所有子孙节点,不考虑层级关系
        / :找直接子节点
2. 谓词查询
        //div[@id]
        //div[@id="maincontent"]
3. 属性查询
        //@class
4. 模糊查询
        //div[contains(@id, "he")]
        //div[starts‐with(@id, "he")]
5. 内容查询
        //div/h1/text()
6. 逻辑运算
        //div[@id="head" and @class="s_down"]
        //title | //price

         新建一个页面,注意在修改<meta charset="UTF-8">为:<meta charset="UTF-8"/>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
</head>
<body>
    <ul>
        <li id="l1" class="c1">北京</li>
        <li id="l2">上海</li>
        <li id="c3">深圳</li>
        <li id="c4">武汉</li>
    </ul>
</body>
</html>

        编写python文件 

from lxml import etree

# lxml解析本地文件                        etree.parse('XX.html')
# lxml解析服务器响应文件                   etree.HTML(response.read().decode('utf‐8')
tree = etree.parse('1.html')

# tree.xpath(xpath路径)

# 查找ul下面的li
li_list = tree.xpath('//body/ul/li')

# 查找所有有id属性的li标签
# text()    获取标签中的内容
li_list = tree.xpath('//ul/li[@id]/text()')

# 找到id为l1的li标签  注意引号的问题
li_list = tree.xpath('//ul/li[@id="l1"]/text()')

# 查找到id位l1的li标签的class的属性值
li = tree.xpath('//ul/li[@id="l1"]/@class')

# 查询id中包含l的li标签
li_list = tree.xpath('//ul/li[contains(@id,"l")]/text()')

# 查询id的值以c开头的li标签
li_list = tree.xpath('//ul/li[starts-with(@id,"c")]/text()')

# 查询id为l1和class为c1的li标签
li_list = tree.xpath('//ul/li[@id="l1" and @class="c1"]/text()')

#查询id为l1或id为l2的li标签
li_list = tree.xpath('//ul/li[@id="l1"]/text() | //ul/li[@id="l2"]/text()')

# 判断列表的长度
print(li_list)
print(len(li_list))

4.案例一:获取百度网站的百度一下字样

Python爬虫——解析插件xpath的安装及使用

         编写代码

import urllib.request
from lxml import etree


url = 'https://www.baidu.com/'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}

# 请求对象定制
request = urllib.request.Request(url=url,headers=headers)

# 模拟浏览器访问服务器
response = urllib.request.urlopen(request)

# 获取网页源码
content = response.read().decode('utf-8')

# 解析网页源码   解析服务器响应的文件 etree.HTML(response.read().decode('utf‐8')
tree = etree.HTML(content)

# 获取想要的数据  xpath的返回值是一个列表类型的数据
result = tree.xpath('//input[@id="su"]/@value')[0]

print(result)

        浏览器中xpath插件主要用处是为代码中解析服务器响应文件提供参数路径。

5.案例二:爬取站长素材网上的前十页照片

        查看不同网页的url之间的规律。

Python爬虫——解析插件xpath的安装及使用

         编写代码:文章来源地址https://www.toymoban.com/news/detail-431906.html

#  需求  下载站长素材前10页图片

# https://sc.chinaz.com/tupian/qinglvtupian.html
# https://sc.chinaz.com/tupian/qinglvtupian_2.html
# https://sc.chinaz.com/tupian/qinglvtupian_3.html
# ...
# https://sc.chinaz.com/tupian/qinglvtupian_page.html
import urllib.request
from lxml import etree

# 请求对象的定制
def create_request(page):
    if(page==1):
        url = 'https://sc.chinaz.com/tupian/qinglvtupian.html'
    else:
        url = 'https://sc.chinaz.com/tupian/qinglvtupian_' + str(page) + '.html'

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }

    request = urllib.request.Request(url=url,headers=headers)
    return request

# 获取网页源码
def get_content(request):
    response = urllib.request.urlopen(request)
    content = response.read().decode('utf-8')
    return content

# 下载图片
def down_load(content):
    # 解析网页源码
    tree = etree.HTML(content)

    name_list = tree.xpath('//div[@class="container"]//img/@alt')
    # 一般涉及到图片的网页一般会使用懒加载
    src_list = tree.xpath('//div[@class="container"]//img/@data-original')

    for i in range(len(name_list)):
        name = name_list[i]
        src = src_list[i]
        url = 'https:' + src
        urllib.request.urlretrieve(url=url,filename= './love_img/' + name + '.jpg')  #下载到指定路径下

if __name__ == '__main__':
    start_page = int(input('请输入起始页码:'))
    end_page = int(input('请输入结束页码:'))

    for page in range(start_page,end_page+1):
        request = create_request(page)
        content = get_content(request)
        down_load(content)

到了这里,关于Python爬虫——解析插件xpath的安装及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫数据解析xpath、jsonpath,bs4

    解析数据的方式大概有三种 xpath JsonPath BeautifulSoup 打开谷歌浏览器扩展程序,打开开发者模式,拖入插件,重启浏览器,ctrl+shift+x,打开插件页面 安装在python环境中的Scripts下边,这里就是python库的位置,例如我的地址为:E:pythonpython3.10.11Scripts 解析本地文件etree.parse( \\\'xx.

    2024年02月13日
    浏览(28)
  • python spider 爬虫 之 解析 xpath 、jsonpath、BeautifulSoup (三)

    简称:bs4 BeautifulSoup跟lxml 一样,是一个html文档的解析器,主要功能也是解析和提取数据 优缺点 缺点:效率没有lxml的效率高 优点:接口接口人性化,使用方便 延用了css选择器 安装BeautifulSoup 1、安装:pip install bs4 2、导入:from bs4 import BeautifulSoup 3、创建bs4 对象 ① 服务器响

    2024年02月11日
    浏览(38)
  • Python爬虫技术系列-02HTML解析-xpath与lxml

    参考连接: XPath教程 https://www.w3school.com.cn/xpath/index.asp lxml文档 https://lxml.de/index.html#support-the-project 爬虫专栏 https://blog.csdn.net/m0_38139250/category_12001010.html XPath的中文名称为XML路径语言(XML Path Language),其最初的设计是用来搜索 XML 文档,但也适用于HTML文档搜索。1996年11月,

    2024年02月07日
    浏览(25)
  • 尚硅谷爬虫(解析_xpath的基本使用)笔记

    创建一个简单的HTML: 创建一个python文件: 如果解析本地文件使用etree.parse 如果解析服务器响应文件使用etree.HTML() 运行:  会报错 lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 4 and head, line 6, column 8 原因是 xpath 严格遵守HTML规范   解决方法: 在meta标签中加入 /  再次

    2023年04月21日
    浏览(31)
  • Python网页爬虫爬取豆瓣Top250电影数据——Xpath数据解析

    1.1 查看原页面信息 首先打开豆瓣Top250电影页面,其网址是:https://movie.douban.com/top250。 可以发现,该页面展示的电影信息有中英文电影名、导演、主演、上映年份、国籍、电影类型、评分等。 下滑到页面底部,发现第一页有25部电影的数据,并且可以点击页码数实现页面跳转

    2024年02月05日
    浏览(37)
  • 5.网络爬虫——Xpath解析

    前言: 📝​📝​此专栏文章是专门针对Python零基础爬虫,欢迎免费订阅! 📝​📝第一篇文章获得 全站热搜第一 , python领域热搜第一 , 第四篇文章 全站热搜第八 ,欢迎阅读! 🎈🎈欢迎大家一起学习,一起成长!! 💕💕:悲索之人烈焰加身,堕落者不可饶恕。永恒燃

    2024年02月03日
    浏览(22)
  • 【Python爬虫开发实战①】使用urllib以及XPath爬取可爱小猫图片

    个人主页 :为梦而生~ 关注我一起学习吧! 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 往期推荐 : 【Python爬虫开发基础⑦】urllib库的基本使用 【Python爬虫开发基础⑧】XPath库及其基本用法 我们在之前已经有8篇文章讲述基础知识了,下面我们

    2024年02月11日
    浏览(36)
  • Python使用XPath解析HTML:从入门到精通

    XPath是一种用于选择XML文档中节点的语言,它可以通过路径表达式来定位节点。由于HTML文档的结构与XML文档类似,XPath也可以用于解析HTML文档。Python是一种非常流行的编程语言,它提供了许多库用于解析HTML文档。本文将介绍Python中使用XPath解析HTML文档的方法和技巧。 XPath表达

    2024年02月03日
    浏览(29)
  • 【实用 Python 库】使用 XPath 与 lxml 模块在 Python 中高效解析 XML 与 HTML

    在今天的信息时代,数据无处不在,从网络爬虫到数据挖掘,从文本处理到数据分析,我们时常需要从结构化文档中提取有用的信息。XPath 是一门强大的查询语言,它可以在 XML 与 HTML 等文档中定位特定的元素与数据。而在 Python 中, lxml 模块为我们提供了一种高效解析 XML 与

    2024年02月10日
    浏览(28)
  • Python爬虫| 一文掌握XPath

    本篇文章主要介绍利用 Python爬虫爬取付费文章 ,适合练习爬虫基础同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧! ☀️大家好!我是新人小白博主朦胧的雨梦,希望大家多多关照和支持😝😝😝 🌖大家一起努力,共同成长,相信我们都会

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包