daobalong 2020-09-20 17:33 采纳率: 80%
浏览 1211
已采纳

小白求助:请问怎么爬取img标签下的src地址?

https://www.gooood.cn/sl_release-apartment-by-pascali-semerdjian-arquitetos.htm

图片说明

img这个标签好像没有独特的元素去定位,比如每张图片的img标签下的class属性值都不同,只会用find_all('a', class_='colorbox_gallery')到,要取出里面img里的src就没招了,求指导

然后,下载图片的过程中,有时候会遇到UnicodeEncodeError: 'gbk' codec can't encode character '\u0131' in position 7: illegal multibyte sequence
图片下载就中断了,有解决的办法吗?

  • 写回答

4条回答 默认 最新

  • 星光不问赶路人~ 2020-09-21 16:59
    关注

    import requests
    from lxml import etree
    url = "https://www.gooood.cn/sl_release-apartment-by-pascali-semerdjian-arquitetos.htm"
    r = requests.get(url)
    print(r.content.decode())
    html = etree.HTML(r.content.decode())
    imgs = html.xpath("//img//@src")
    n = 1
    for i in imgs:
    print(i)
    response = requests.get(i)
    img = response.content
    with open("./imags/{}.jpg".format(n),"wb") as f: #需要在当前目录下建立imags文件夹
    f.write(img)
    n += 1

    #亲测运行正常

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同