【问题标题】:Extracting data from html using python使用python从html中提取数据
【发布时间】:2021-01-08 00:11:42
【问题描述】:

我正在尝试从此代码中提取所有“a”标签中的文本,但出现错误:

(AttributeError: ResultSet 对象没有属性“find_all”。您可能将元素列表视为单个元素。当您打算调用 find() 时是否调用了 find_all()?)

我做错了什么?

import json
import time
from datetime import datetime
from discord import Webhook, RequestsWebhookAdapter
from discord_webhook import DiscordWebhook, DiscordEmbed
import discord
from bs4 import BeautifulSoup
from discord.ext import commands

r = requests.get("https://www.hypedc.com/nz/nike-air-force-1-07-black-black-cw2288-001")
soup = BeautifulSoup(r.content, 'lxml')
size = soup.find('div', id="size-selector-tab-mobile-0")
size = size.find_all('li', class_='col-xs-6 col-sm-8 col-md-6 col-lg-4')
size = size.find_all('a').text
print(size)

【问题讨论】:

  • 您的代码没有显示任何查找'a' 标签的尝试。
  • “但这不起作用”什么错误信息?
  • 好的,我来解决这个问题。

标签: python beautifulsoup python-requests


【解决方案1】:

这里size.find_all('li', class_='col-xs-6 col-sm-8 col-md-6 col-lg-4')返回一个列表。因此,您需要对其进行迭代以获取大小。

import requests
r = requests.get("https://www.hypedc.com/nz/nike-air-force-1-07-black-black-cw2288-001")
soup = BeautifulSoup(r.content, 'lxml')
size = soup.find('div', id="size-selector-tab-mobile-0")

size = size.find_all('li') # return list

for t in size:
    print(t.a.text.strip())

【讨论】:

  • 谢谢您的帮助
  • 如果正确解决了您的问题,请将答案标记为已接受 :)
猜你喜欢
  • 2013-06-12
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-01
  • 2021-10-22
  • 2020-10-17
相关资源
最近更新 更多