第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將使用 BeautifulSoup 檢索到的數(shù)據(jù)保存到數(shù)組中

將使用 BeautifulSoup 檢索到的數(shù)據(jù)保存到數(shù)組中

喵喵時(shí)光機(jī) 2023-05-09 10:39:21
*大家好,我是 BeautifulSoup 的新手,我不太了解如何提取數(shù)據(jù)。我想提取亞馬遜暢銷書(shū)排行榜的前十個(gè)標(biāo)題并將其存儲(chǔ)到一個(gè)數(shù)組中。我的目標(biāo)是創(chuàng)建亞馬遜的前 10 名列表,并針對(duì)不同的類別一遍又一遍地復(fù)制該過(guò)程。我只想提取產(chǎn)品的“標(biāo)題”。這是我的代碼:*from bs4 import BeautifulSoupimport requestsheaders = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'}url_amazon = "https://www.amazon.co.uk/Best-Sellers-Electronics/zgbs/electronics"response = requests.get(url_amazon, headers = headers)soup = BeautifulSoup(response.content, "lxml")print(soup.prettify())title = soup.find("h1", class_ = "a-size-large a-spacing-medium zg-margin-left-15 a-text-bold").textprint(title)titles = []for item in soup.findAll("div", attrs = {"class" : "a-fixed-left-grid-col a-col-right"}):    name = item.find("div", attrs = {"class" : "p13n-sc-truncated"})    if name is not None:        titles.append(name.text)    else:        titles.append("unknown title")print(len(titles))for i in titles:    print(i)輸出是:“未知標(biāo)題”
查看完整描述

1 回答

?
揚(yáng)帆大魚(yú)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

您的第一個(gè)問(wèn)題是該行中的 CSS 類name = item.find("div", attrs={"class": "p13n-sc-truncated"}應(yīng)該是p13n-sc-truncate. 您的第二個(gè)問(wèn)題是您用來(lái)查找項(xiàng)目的類過(guò)于具體(對(duì)于第一項(xiàng))。我發(fā)現(xiàn)用 class 搜索列表項(xiàng)更有用zg-item-immersion。


如果只想列出前 10 個(gè)項(xiàng)目,則可以將[:10]切片說(shuō)明符添加到主 for 循環(huán)中。把它們放在一起,我們得到:


import requests

from bs4 import BeautifulSoup


headers = {

    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9"

}

url_amazon = (

    "https://www.amazon.co.uk/Best-Sellers-Electronics/zgbs/electronics"

)

response = requests.get(url_amazon, headers=headers)

soup = BeautifulSoup(response.content, "lxml")


print(soup.prettify())


title = soup.find(

    "h1", class_="a-size-large a-spacing-medium zg-margin-left-15 a-text-bold"

).text

print(title)



titles = []


for item in soup.findAll("li", attrs={"class": "zg-item-immersion"})[:10]:

    name = item.find("div", attrs={"class": "p13n-sc-truncate"})

    if name is not None:

        titles.append(name.text.strip())

    else:

        titles.append("unknown title")


print(len(titles))


for i in titles:

    print(i)

我用來(lái)name.text.strip()刪除換行符和多余的空格。


需要注意的是,這個(gè)腳本比較脆弱,因?yàn)閬嗰R遜可以隨時(shí)更改布局和類名。


查看完整回答
反對(duì) 回復(fù) 2023-05-09
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)