鱼C论坛

 找回密码
 立即注册
查看: 1100|回复: 3

[已解决]爬虫下载保存问题?

[复制链接]
发表于 2023-12-5 20:41:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import requests
from lxml import etree

url = 'https://ssr1.scrape.center/'

headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'}
name = requests.get(url=url,headers=headers)

n = name.text

n1 = etree.HTML(n)
t = n1.xpath('//div[@id="index"]//a/img/@src')
n = n1.xpath('//div[@id="index"]//a/h2/text()')

for i in range(len(t)):
    url=t[i]
    n1=n[i]
    print(url)
    img = requests.get(url=url,headers=headers)
    with open(n1,'wb') as f:
        f.write(img.content)
      #为什么截图中保存的不是.jpg格式的文件?不理解解?求大神指点?
最佳答案
2023-12-5 20:42:36
你好!在你的代码中,存在一些问题导致保存的文件不是.jpg格式的。首先,你在循环中把所有的图片链接都赋值给了同一个变量url和n1,这样就导致在保存文件时使用的文件名都是相同的。其次,在xpath中获取到的图片链接是以http://或https://开头的完整链接,而不仅仅是图片的文件名,所以你需要做一些处理。

下面是修改后的代码,可以下载并保存图片:
pythonimport requestsfrom lxml import etreeurl = 'https://ssr1.scrape.center/'headers = {    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'}response = requests.get(url=url, headers=headers)html = response.textselector = etree.HTML(html)image_urls = selector.xpath('//div//a/img/@src')names = selector.xpath('//div//a/h2/text()')for i in range(len(image_urls)):    image_url = image_urls[i]    name = names[i] + '.jpg'    if not image_url.startswith('http'):        image_url = url + image_url    response = requests.get(url=image_url, headers=headers)    with open(name, 'wb') as f:        f.write(response.content)
这样修改后,程序会根据每张图片的链接生成不同的文件名,并将图片保存为.jpg格式的文件。希望能帮助到你!如果还有其他问题,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
捕获11.PNG

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-5 20:42:36 | 显示全部楼层    本楼为最佳答案   
你好!在你的代码中,存在一些问题导致保存的文件不是.jpg格式的。首先,你在循环中把所有的图片链接都赋值给了同一个变量url和n1,这样就导致在保存文件时使用的文件名都是相同的。其次,在xpath中获取到的图片链接是以http://或https://开头的完整链接,而不仅仅是图片的文件名,所以你需要做一些处理。

下面是修改后的代码,可以下载并保存图片:
pythonimport requestsfrom lxml import etreeurl = 'https://ssr1.scrape.center/'headers = {    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'}response = requests.get(url=url, headers=headers)html = response.textselector = etree.HTML(html)image_urls = selector.xpath('//div//a/img/@src')names = selector.xpath('//div//a/h2/text()')for i in range(len(image_urls)):    image_url = image_urls[i]    name = names[i] + '.jpg'    if not image_url.startswith('http'):        image_url = url + image_url    response = requests.get(url=image_url, headers=headers)    with open(name, 'wb') as f:        f.write(response.content)
这样修改后,程序会根据每张图片的链接生成不同的文件名,并将图片保存为.jpg格式的文件。希望能帮助到你!如果还有其他问题,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-5 20:55:11 | 显示全部楼层
本帖最后由 zyj1214 于 2023-12-5 20:57 编辑
FishC_GPT 发表于 2023-12-5 20:42
你好!在你的代码中,存在一些问题导致保存的文件不是.jpg格式的。首先,你在循环中把所有的图片链接都赋值 ...


import requests
from lxml import etree

url = 'https://ssr1.scrape.center/'

headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'}
name = requests.get(url=url,headers=headers)

n = name.text

n1 = etree.HTML(n)
t = n1.xpath('//div[@id="index"]//a/img/@src')
n = n1.xpath('//div[@id="index"]//a/h2/text()')

for i in range(len(t)):
    url=t[i]
    n1=n[i]
    #print(url)
    img = requests.get(url=url,headers=headers)
    with open(n1+'.jpg','wb') as f:
        f.write(img.content)
       #我这样修改一下,也可以,,,多谢大神指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-5 20:55:25 | 显示全部楼层
zyj1214 发表于 2023-12-05 20:55
import requests
from lxml import etree

url = ' ...

你好!你对代码进行了修改,现在可以正确地保存图片了。通过将文件名改为`n1+'.jpg'`,每张图片的文件名会根据对应的标题而生成,并且会保存为.jpg格式的文件。感谢你的反馈和指正!如果还有其他问题,请随时告诉我。祝你编程愉快!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 03:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表