weixin_55061897 2022-01-28 19:59 采纳率: 60%
浏览 27
已结题

想爬取一下壁纸的图片,可惜遇到错误

今天想爬一下好看的壁纸,可遇到了一些错误求帮忙

import requests
from lxml import etree
import os
url='https://wallhaven.cc/toplist?'
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'
}
response=requests.get(url=url,headers=headers)
page_text=response.text
tree=etree.HTML(page_text)
li_list=tree.xpath('//*[@id="thumbs"]/section[1]/ul')
if not os.path.exists('./壁纸'):
    os.mkdir('./壁纸')
for li in li_list:
    img_src='//*[@id="thumbs"]/section[1]/ul/li[2]/figure/img@src'[0]
    img_data=requests.get(url=img_src, headers=headers).content
    img_path='picLibs/' + img_src
    with open('壁纸/'+img_src)as fp:
        fp.write(img_data)
        print(img_src,'下载完成!')

url='https://wallhaven.cc/toplist?%27
报错为

img

就是想爬取整个排行榜的壁纸的图片,然后存到一个文件夹里面。

  • 写回答

1条回答 默认 最新

  • 坚持不懈的大白 前端领域优质创作者 2022-01-28 20:59
    关注

    楼主,我把你的代码改了一下,这样就行了。

    import requests
    from lxml import etree
    import os
    import re
    
    from torch import mode
    
    url = 'https://wallhaven.cc/toplist?'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'
    }
    response = requests.get(url=url, headers=headers)
    page_text = response.text
    tree = etree.HTML(page_text)
    as_href = tree.xpath('//*[@id="thumbs"]/section[1]/ul/li//a/@href')
    if not os.path.exists('./壁纸'):
        os.mkdir('./壁纸')
    for a_href in as_href:
        rsp = requests.get(url=a_href,headers=headers)
        html2 = etree.HTML(rsp.text)
        img_src = html2.xpath("//img[@id='wallpaper']/@src")[0]
        img_name = re.findall('.*-(.*)',img_src)[0]
        content2 = requests.get(url= img_src,headers=headers).content
        with open(file='./壁纸/{}'.format(img_name),mode='wb') as f:
            f.write(content2)
    

    这个网站上的图片是真的不错呀!感谢楼主的分享!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月28日

悬赏问题

  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行