感谢各位的帮助
本帖最后由 xuegaoxiansen 于 2022-10-2 11:27 编辑from bs4 import BeautifulSoup
import requests
# 发起请求
url = 'https://www.mmonly.cc/tag/qcxhlwkxww/'
resp = requests.get(url)
# 获得html
wangye = resp.content.decode('gbk')
# 使用BS4解析一下
soup = BeautifulSoup(wangye,'html.parser')
# find_all返回的永远是个数组,既然是数组,就要选择相应的元素
soup1 = soup.find_all('div',attrs={"class":'ABox'})
# 所有的class为ABox的div下的所有a标签
soup2 = soup1.find_all('a')
for item in soup2:
# 拿到a标签下面的img,img里面的属性src
img_src = item.find_all('img').attrs['src']
# 获得文件的名称
name = item.find_all('img').attrs['alt']
# 将符号<b>和</b>删除
name = name.replace("<b>","")
name = name.replace("</b>", "")
# 访问这个路径,然后下载即可
resp = requests.get(img_src)
with open('./mp4/'+name+'.jpg','wb') as file:
file.write(resp.content)
print(img_src) 你的name固定了,后面的新文件把就文件覆盖了 luxingyu329 发表于 2022-10-2 10:15
你的name固定了,后面的新文件把就文件覆盖了
我去掉名称,这样子也是只能获取第一张{:1_924:}
from bs4 import BeautifulSoup
import requests
# 发起请求
url = 'https://www.mmonly.cc/tag/qcxhlwkxww/'
resp = requests.get(url)
# 获得html
wangye = resp.content.decode('gbk')
# fixme(高亮的意思) 使用BS4解析一下
soup = BeautifulSoup(wangye,'html.parser')
# find_all返回的永远是个数组,既然是数组,就要选择相应的元素
soup1 = soup.find_all('div',attrs={"class":'ABox'})
# 所有的class为ABox的div下的所有a标签
soup2 = soup1.find_all('a')
for item in soup2:
# 拿到a标签下面的img,img里面的属性src
img_src = item.find_all('img').attrs['src']
# 访问这个路径,然后下载即可
resp = requests.get(img_src)
with open('./mp4/''.jpg','wb') as file:
file.write(resp.content)
print(img_src) 打不开这个网站,怎么回事呢
advancejar 发表于 2022-10-2 10:51
打不开这个网站,怎么回事呢
可以打开,不要全复制,只到cc xuegaoxiansen 发表于 2022-10-2 10:22
我去掉名称,这样子也是只能获取第一张
from bs4 import Beautifu ...
with open('./mp4/''.jpg','wb') as file: 这一段的图片命名,用个open('./mp4/'+time.time()+'.jpg','wb') 本帖最后由 Hazy 于 2022-10-2 11:10 编辑
from bs4 import BeautifulSoup
import requests
# 发起请求
url = 'https://www.mmonly.cc/tag/qcxhlwkxww/'
resp = requests.get(url)
# 获得html
wangye = resp.content.decode('gbk')
# 使用BS4解析一下
soup = BeautifulSoup(wangye,'html.parser')
# find_all返回的永远是个数组,既然是数组,就要选择相应的元素
soup1 = soup.find_all('div',attrs={"class":'ABox'})
#在你的代码里 soup1 是你提取出来的所有div, 所以你要去遍历soup1, 遍历每个div, 拿到a标签, 但是你只取了第一个div的a标签, 所以你只获取到了一个第一个div里的图片
for item in soup1:
soup2 = item.find_all('a')
# 拿到a标签下面的img,img里面的属性src
img_src = item.find_all('img').attrs['src']
# 获得文件的名称
name = item.find_all('img').attrs['alt']
# 将符号<b>和</b>删除
name = name.replace("<b>","")
name = name.replace("</b>", "")
# 访问这个路径,然后下载即可
resp = requests.get(img_src)
with open('./mp4/'+name+'.jpg','wb') as file:
file.write(resp.content)
print(img_src) Hazy 发表于 2022-10-2 11:06
from bs4 import BeautifulSoup
import requests
在你的代码里 soup1 是你提取出来的所有div, 所以你要去遍历soup1, 遍历每个div, 拿到a标签, 但是你只取了第一个div的a标签, 所以你只获取到了一个第一个div里的图片 感觉不太对,代码不知道哪出错了 多来点多来点:lol
页:
[1]