gpt4 book ai didi

python - 使用beautifulsoup单独存储数据

转载 作者:行者123 更新时间:2023-12-01 03:27:36 24 4
gpt4 key购买 nike

我正在尝试从Shutterstock 中的搜索页面收集数据ID。这就是 HTML 的样子

<i class="i i-lightbox sstk-icon icon-plus-sign js_lightbox_add" data-id="253869514" data-tooltip-title="Add to a lightbox" data-lightboximageid="253869514" data-toggle="modal" data-target=".lightbox-modal" data-track="click.searchResults-saveToLightboxModal" data-original-title="" title=""></i>

我希望存储 data-id 的值,以便我可以单独打印它们。

例如,此代码不起作用,它只是返回:“None”

url = "https://www.shutterstock.com/search/test?autocomplete_id=&language=en&search_source=&version=llv1&image_type=images&safe=true"
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data)
for n in soup.find_all('i'):
showdata = n.get('data-id')

print showdata

如果我将 showdata = n.get('data-id') 更改为: print n.get('data-id')它将返回所有数据 ID,但全部一起返回。所以我不能单独打印它们

最佳答案

这样做:

for n in soup.find_all('i'):
showdata = n.get('data-id')
print showdata

您将看到每次迭代都会覆盖 showdata,并且最后一个元素没有类 data-id

因此,这将为您提供所有非 None 匹配项的列表:

all_data_ids = []
for n in soup.find_all('i'):
showdata = n.get('data-id')
if showdata:
all_data_ids.append(showdata)

print all_data_ids

关于python - 使用beautifulsoup单独存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41279509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com