亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用美麗湯的數據框問題

使用美麗湯的數據框問題

一只斗牛犬 2023-09-12 15:09:53
我使用美麗的湯抓取數據創建一個數據框。然而,有兩個問題。為什么for循環運行了2次?如何去掉數據框上的括號?導入 urllib.request 作為 reqfrom bs4 import BeautifulSoupimport bs4import requestsimport pandas as pdurl = "https://finance.yahoo.com/quote/BF-B/profile?p=BF-B"root = requests.get(url)soup = BeautifulSoup(root.text, 'html.parser')records = []for result in soup:name = soup.find_all('h1', attrs={'D(ib) Fz(18px)'})website = soup.find_all('a')[44]sector = soup.find_all('span')[35]industry = soup.find_all('span')[37]records.append((name, website, sector, industry))df = pd.DataFrame(records, columns=['name', 'website', 'sector', 'industry'])df.head()結果是這樣的:數據幀輸出
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

要獲取有關公司的信息,您不必循環遍歷soup,只需直接提取必要的信息即可。要去掉[..]括號,請使用.text屬性:


import requests

from bs4 import BeautifulSoup



url = 'https://finance.yahoo.com/quote/BF-B/profile?p=BF-B'

soup = BeautifulSoup(requests.get(url).content, 'html.parser')


all_data = []


all_data.append({

    'Name': soup.h1.text,

    'Website': soup.select_one('.asset-profile-container a[href^="http"]')['href'],

    'Sector': soup.select_one('span:contains("Sector(s)") + span').text,

    'Industry': soup.select_one('span:contains("Industry") + span').text

})


df = pd.DataFrame(all_data)

print(df)

印刷:


                              Name                      Website              Sector                           Industry

0  Brown-Forman Corporation (BF-B)  http://www.brown-forman.com  Consumer Defensive  Beverages—Wineries & Distilleries



查看完整回答
反對 回復 2023-09-12
  • 1 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號