python 网络爬虫 怎么保存 下载到本地硬盘

img


问题遇到的现象和发生背景

问题相关代码,请勿粘贴截图


# 导入包
import requests
import re

# 请求网址
url = "https://www.vmgirls.com/18236.html"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
resp = requests.get(url, headers=headers)
html = resp.text
# 解析网址
urls = re.findall('<a href="(.*?)" alt="(.*?)" title=".*?">', html)
print(urls)

for url in urls:                    #先遍历这个列表,
    new_url = 'https:' + url[0]     #然后拿到元祖的第零个元素,
    print(new_url, url[1])          #给这个链接的字符串拼接上http

文件保存到本地 硬盘


#导入包
import requests
import re
import os
#如果当前项目下有名为美女图片的文件夹,则不创建,么有则创建
if not os.path.exists('美女图片'):
    os.mkdir('美女图片')
#请求网址
url = "https://www.vmgirls.com/18236.html"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
resp = requests.get(url, headers=headers)
html = resp.text
#解析网址
urls = re.findall('<a href="(.*?)" alt="(.*?)" title=".*?">', html)
# print(urls)
for url in urls:
    img_url = 'https:' + url[0]
    img_name = img_url.split("/")[-1]  # split函数对字符串切割,返回一个列表,我这里是以“/”切割,取带.jpeg的为文件名,符合图片文件后缀名要求
    #print(img_url,img_name)
    img_data = requests.get(url=img_url, headers=headers).content
    img_path = "美女图片/"+img_name
    #将图片存在“美女图片”文件夹下
    with open(img_path,'wb') as fp:
            fp.write(img_data)
    print(img_name,'下载成功')

img


记得采纳哦!!!