xpath爬取手机壁纸


xpath爬取实例

文章目录


前言

提示:这里可以添加本文要记录的大概内容:

本节主要介绍在学习过程中掌握的爬取图片的简单示例


提示:以下是本篇文章正文内容,下面案例可供参考

一、模块导入

pip install requests

pip install lxml

二、示例

1.单图爬取

只需找到完整 的图片地址即可

代码如下(示例):

import requests

if __name__ == "__main__":
    #创建一个文件夹,保存所有的图片
 
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40'
    }
    url ='http://pic.netbian.com/uploads/allimg/181223/205433-154556967383ec.jpg'#所要爬取图片的完整地址
    img_data = requests.get(url=url,headers=headers).content  #返回二进制数据
    with open('./1.jpg','wb') as fp:
              fp.write(img_data)'''

2.多图爬取

代码如下(示例):

from lxml import etree
import requests
import os

if __name__ == '__main__':
    url = 'http://pic.netbian.com/shoujibizhi/'#目标需求
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
    }
    response = requests.get(url, headers=headers)
    # 手动设置响应数据的编码格式
    # response.encoding='utf-8'
    page_text = response.text

    tree = etree.HTML(page_text)
    li_list = tree.xpath('//div[@class="alist"]/ul/li')
    if not os.path.exists('./img'):#创建文件夹用以保存
        os.mkdir('./img')

    for li in li_list:
        img_src = 'http://pic.netbian.com' + li.xpath('./a/img/@src')[0]
        img_name = li.xpath('./a/img/@alt')[0] + '.jpg'
        # 通用处理中文乱码的解决方案
        img_name = img_name.encode('iso-8859-1').decode('gbk')
        img_data = requests.get(img_src, headers=headers).content
        img_path = './img/' + img_name
        with open(img_path, 'wb') as fp:
            fp.write(img_data)
            print(img_name, '爬取成功!')f翻页

翻页操作,添加循环   

for page in range(1,10)  
    url = 'http://pic.netbian.com/shoujibizhi/index_{page}.html'

总结

以上就是今天要讲的内容,本文仅仅简单介绍了通用xpath的简单案例,以备后用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值