爬虫 - 数据解析 - xpath实战


一、爬取图片

import requests, os
from lxml import etree

if __name__ == '__main__':
    # 模拟浏览器请求
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.39'
    }
    # 设置url
    url = "https://pic.netbian.com/4kmeinv/"
    # 获取url对应的html页面
    page_text = requests.get(url=url, headers=headers).text
    # 创建etree对象
    tu_html = etree.HTML(page_text)
    # 解析xml页面
    li_list = tu_html.xpath("//div[@class='slist']/ul/li")
    # 创建目录
    if not os.path.exists("./4ktupian"):
        os.mkdir("./4ktupian")
    
    for li in li_list:
        href = li.xpath("./a/img/@src")
        img_url = "https://pic.netbian.com/"+href[0]
        # 解决中文乱码
        img_name = li.xpath("./a/img/@alt")[0] + '.jpg'
        img_name = img_name.encode('iso-8859-1').decode('gbk')
        # 获取图片的二进制形式
        img_data = requests.get(url=img_url, headers=headers).content
        #图片路径
        img_path = './4ktupian/'+img_name
        # 存储图片
        with open(img_path, 'wb') as f:
            f.write(img_data)

二、全国城市名称爬取

1.让两个xpath表达式都生效

tree.xpath('xpath表达式一' | 'xpath表达式二') .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Python进行爬虫时,XPath是一种非常有用的工具,可以帮助您从HTML或XML文档中提取所需的数据。以下是一个简单的示例,演示如何使用PythonXPath进行爬虫实战: 首先,您需要安装必要的库。在Python中,您可以使用`lxml`库来解析HTML或XML文档,并使用`requests`库发送HTTP请求。您可以使用以下命令来安装它们: ```python pip install lxml pip install requests ``` 接下来,我们将使用`requests`库发送HTTP请求,并使用`lxml`库解析返回的HTML内容。以下是一个示例代码: ```python import requests from lxml import etree # 发送HTTP请求并获取页面内容 url = 'https://example.com' # 替换为您要爬取的网页地址 response = requests.get(url) content = response.content # 使用lxml解析HTML内容 html = etree.HTML(content) # 使用XPath提取所需的数据 data = html.xpath('//div[@class="example-class"]/text()') # 替换为您要提取数据XPath表达式 # 打印提取的数据 for d in data: print(d) ``` 在上述示例中,我们首先发送HTTP请求并获取网页的内容。然后,我们使用`etree.HTML()`函数将内容转换为可解析的HTML对象。接下来,我们使用XPath表达式`'//div[@class="example-class"]/text()'`来提取具有`class`属性为`example-class`的`div`元素的文本内容。您可以根据实际情况调整XPath表达式以匹配您要提取的数据。 注意:在实际使用中,您可能还需要处理页面的反爬机制、处理异常情况和使用循环遍历多个页面等。此示例仅为演示基本的Python爬虫XPath使用方法。 希望这可以帮助到您!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值