|
发表于 2023-12-5 21:02:38
|
显示全部楼层
要保存文件到指定的文件夹,你可以使用Python的os模块中的函数来操作文件路径。首先,你需要创建一个文件夹,用于保存爬取的图片。然后,你可以使用os.path.join()函数来生成文件的完整路径。
下面是修改后的代码示例:
- import os
- 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//a/img/@src')
- n = n1.xpath('//div//a/h2/text()')
- # 指定文件夹路径
- folder_path = 'd:/图片/爬虫图片'
- if not os.path.exists(folder_path):
- os.makedirs(folder_path)
- for i in range(len(t)):
- url = t[i]
- n1 = n[i]
- # 如果文件名中包含特殊字符,可以使用os.path.basename()来移除路径,并保留文件名部分
- filename = os.path.basename(n1) + '.jpg'
- file_path = os.path.join(folder_path, filename)
- img = requests.get(url=url, headers=headers)
- with open(file_path, 'wb') as f:
- f.write(img.content)
复制代码
在上述代码中,我们新增了两行代码,其中`folder_path`变量指定了文件夹路径,并使用`os.makedirs()`函数创建文件夹(如果文件夹不存在)。然后,我们使用`os.path.join()`函数将文件名与文件夹路径拼接成完整的文件路径。
注意,代码中还使用了`os.path.basename()`方法来从文件路径中提取文件名,这样可以确保文件名中不包含任何路径信息。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |
|