python 爬虫(爬取网页的img并下载)

from urllib.request import urlopen # 引用第三方库
import requests #引用requests/用于访问网站(没安装需要安装)
from pyquery import PyQuery as pq #引用PyQuery用于 解析
# def get_url():
# #     url = 'https://s2.app1108017098.qqopenapp.com/?from=singlemessage&isappinstalled=0'
#     url = 'https://hm.baidu.com/hm.gif?cc=0&ck=1&cl=24-bit&ds=1920x1080&vl=328&ep=%7B%22netAll%22%3A168%2C%22netDns%22%3A23%2C%22netTcp%22%3A137%2C%22srv%22%3A49%2C%22dom%22%3A497%2C%22loadEvent%22%3A910%7D&et=87&ja=0&ln=zh-cn&lo=0&lt=1545373503&rnd=931647730&si=85ae31d909724b3fa587d26d1a21ab94&v=1.2.35&lv=2'
#     def get():
#         ret = urlopen(url).read()# 获取网页的源码
#         print(ret)
#         f = open('te.txt', 'wb')  # 若是'wb'就表示写二进制文件
#         f.write(ret)
#         f.close()
#     return get#返回函数
#
# get_func = get_url()#函数接收
# get_func()#输出 调用
# import requests
# from pyquery import PyQuery as pq
#爬取网页
html = requests.get('http://www.4399.com/flash/gamehw.htm').content.decode("gb2312")
#解析
doc = pq(html)
# f = open('te.txt', 'w',encoding='utf-8')  # 若是'wb'就表示写二进制文件
# f.write(html)
# f.close()
# 选择器 筛选语法
adc = doc('.tm_list > li > a').items()
for adv in adc:
    # url = adv.find('img')
    #找到html下的img 和 src
    url_q = adv.find('img').attr('lz_src')
    if url_q == None:
        url_q = adv.find('img').attr('src')
        #访问地址
    url_a = requests.get(url =url_q).content
    #拿到HTML下的名称
    name = adv.find('b').text()
    print("下载的图像:%s,地址为 %s" %(name,url_q))
    #打开文件目录
    with open("./1/"+name+".jpg",'wb') as file:
        #保存图片
        file.write(url_a)
print("图片下载完毕")

 

转载于:https://www.cnblogs.com/xiao-zhi/p/10157185.html

以下是Python爬虫爬取网页图片并保存的代码示例: ```python import requests from bs4 import BeautifulSoup import os # 目标网站 url = "https://unsplash.com/" # 请求头 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} # 发送请求 response = requests.get(url, headers=headers) # 解析网页 soup = BeautifulSoup(response.text, "html.parser") # 获取所有图片标签 img_tags = soup.find_all("img") # 创建保存图片的文件夹 if not os.path.exists("images"): os.mkdir("images") # 遍历图片标签,获取图片链接并保存 for img_tag in img_tags: img_url = img_tag.get("src") if img_url.startswith("https://"): img_response = requests.get(img_url, headers=headers) with open("images/" + img_url.split("/")[-1], "wb") as f: f.write(img_response.content) print("保存成功:", img_url) ``` 解释: 1. 首先导入需要的库:requests发送网络请求、BeautifulSoup解析网页、os创建文件夹等。 2. 定义目标网站的URL和请求头。 3. 使用requests库发送网络请求,获得网页的响应。 4. 使用BeautifulSoup库解析网页,获取所有图片标签。 5. 创建一个名为images的文件夹,用来保存图片。 6. 遍历所有图片标签,获取图片链接,并判断是否为https协议开头的链接。 7. 如果是,使用requests库发送网络请求,获取图片的二进制数据,并将其保存到images文件夹中,以图片的名称命名。 8. 打印保存成功的提示信息。 9. 完成爬取和保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值