吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1735|回复: 9
收起左侧

[已解决] 感谢各位的帮助

[复制链接]
xuegaoxiansen 发表于 2022-10-2 10:12
本帖最后由 xuegaoxiansen 于 2022-10-2 11:27 编辑

[Python] 纯文本查看 复制代码
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[0].find_all('a')

for item in soup2:
  # 拿到a标签下面的img,img里面的属性src
  img_src = item.find_all('img')[0].attrs['src']
  # 获得文件的名称
  name = item.find_all('img')[0].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)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

luxingyu329 发表于 2022-10-2 10:15
你的name固定了,后面的新文件把就文件覆盖了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xuegaoxiansen + 1 + 1 用心讨论,共获提升!

查看全部评分

 楼主| xuegaoxiansen 发表于 2022-10-2 10:22
luxingyu329 发表于 2022-10-2 10:15
你的name固定了,后面的新文件把就文件覆盖了

我去掉名称,这样子也是只能获取第一张

[Python] 纯文本查看 复制代码
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[0].find_all('a')

for item in soup2:
  # 拿到a标签下面的img,img里面的属性src
  img_src = item.find_all('img')[0].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
sgw1970 发表于 2022-10-2 10:53
advancejar 发表于 2022-10-2 10:51
打不开这个网站,怎么回事呢

可以打开,不要全复制,只到cc
知心 发表于 2022-10-2 10:57
xuegaoxiansen 发表于 2022-10-2 10:22
我去掉名称,这样子也是只能获取第一张

[mw_shl_code=python,true]from bs4 import Beautifu ...

with open('./mp4/''.jpg','wb') as file: 这一段的图片命名,用个open('./mp4/'+time.time()+'.jpg','wb')

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xuegaoxiansen + 1 + 1 用心讨论,共获提升!

查看全部评分

Hazy 发表于 2022-10-2 11:06
本帖最后由 Hazy 于 2022-10-2 11:10 编辑

[Python] 纯文本查看 复制代码
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')[0].attrs['src']
    # 获得文件的名称
    name = item.find_all('img')[0].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:10
Hazy 发表于 2022-10-2 11:06
[mw_shl_code=python,true]from bs4 import BeautifulSoup

import requests

在你的代码里 soup1 是你提取出来的所有div  , 所以你要去遍历soup1, 遍历每个div, 拿到a标签, 但是你只取了第一个div的a标签, 所以你只获取到了一个第一个div里的图片

免费评分

参与人数 1吾爱币 +4 热心值 +1 收起 理由
xuegaoxiansen + 4 + 1 谢谢@Thanks!

查看全部评分

L648520XY 发表于 2022-10-2 11:12
感觉不太对,代码不知道哪出错了
Arcticlyc 发表于 2022-10-2 11:29
多来点多来点
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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