import requests from lxml import etree import os if __name__=='__main__': url='https://pic.netbian.com/4kmeinv/' headers = { 'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Mobile Safari/537.36' } #page_text= requests.get(url=url, headers=headers).text #上面可以分两步写,第一先获取响应对象 response=requests.get(url=url, headers=headers) # 第二将响应对象当中的响应数据获取,然后把响应数据设置成utf-8 response.encoding= 'uft-8' page_text= response.text # ----数据解析:src的属性值是图片url和alt的属性是图片名字 tree=etree.HTML(page_text) # 实例化一个对象 li_list = tree.xpath('//div [@class="slist"]/ul/li]') # xpath返回的数据是一个列表,所以返回给li_list这个列表 # 创建一个文件夹 if not os.path.exists('./picLibs'): os.mkdir('./picLibs') for li in li_list: img_src= 'http://pic.netbian.com'+li.xpath('./a/img/@src')[0] #获取图片的名称定义img_name.然后给图片加上后缀'.jpg的格式' img_name= li.xpath('./a/img/@src')[0]+'.jpg' # 通用处理中文乱码的解决方案 img_name= img_name.encode('iso-8859-1').decode('gbk') # print(img_name, img_src) # 请求图片进行持久化存储 img_data= requests.get(url=url, headers=headers) img_path='picLibs'+img_name with open(img_path, 'wb') as fp: fp.write(img_data) print(img_name, '下载成功')
一直报错这一行有问题li_list=tree.xpath还报错表达式无效
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 江天暮雪丨 2021-05-07 08:45关注
是不是多写了一个 ]
li_list = tree.xpath('//div [@class="slist"]/ul/li]') li_list = tree.xpath('//div [@class="slist"]/ul/li')
解决 无用评论 打赏 举报
悬赏问题
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥120 计算机网络的新校区组网设计
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据