如何使用美丽的汤来抓取表数据?

时间:2021-02-02 12:24:44

标签: python web-scraping beautifulsoup

我正在尝试为 CoinMarketCap 上列出的所有加密货币抓取价格和流通供应。使用下面的代码,我可以毫无问题地抓取 10 行,但是在第 10 行之后,很少有数据没有被正确抓取。

import pandas as pd 
from bs4 import BeautifulSoup
import time, random
import requests

cmc = requests.get("https://coinmarketcap.com/1")
soup = BeautifulSoup(cmc.content, 'html.parser')
data = soup.find('table')
rows = data.find_all('tr')

#extract column names from table
table_headers = []
for i in data.find_all('th'):
  table_headers.append(i.text)

#extract data from each row 
circ_supply = []
data_table = []
for i in rows:
  table_data = i.find_all('td')
  data = [j.text for j in table_data]
  print(data)
  data_table.append(data)
     

这是输出。

['', '1', 'Bitcoin1BTC', '$34,725.92', '1.55%', '7.79%', '$646,494,276,046', '$63,009,221,0901,814,472 BTC', '18,617,050 BTC', '', '']
['', '2', 'Ethereum2ETH', '$1,416.16', '6.81%', '6.18%', '$162,155,686,140', '$37,147,129,12826,230,861 ETH', '114,503,687 ETH', '', '']
['', '3', 'Tether3USDT', '$1.00', '0.07%', '0.02%', '$26,785,378,825', '$116,036,057,536115,888,174,046 USDT', '26,751,241,890 USDT', '', '']
['', '4', 'XRP4XRP', '$0.3907', '46.82%', '46.00%', '$17,738,804,229', '$25,889,958,82366,267,625,297 XRP', '45,404,028,640 XRP', '', '']
['', '5', 'Polkadot5DOT', '$16.81', '3.85%', '1.78%', '$15,229,674,740', '$2,319,298,243138,007,610 DOT', '906,227,142 DOT', '', '']
['', '6', 'Cardano6ADA', '$0.4156', '17.19%', '21.29%', '$12,930,271,303', '$5,755,076,16113,847,715,528 ADA', '31,112,484,646 ADA', '', '']
['', '7', 'Chainlink7LINK', '$23.01', '2.90%', '0.26%', '$9,296,748,651', '$2,615,136,956113,646,218 LINK', '404,009,556 LINK', '', '']
['', '8', 'Litecoin8LTC', '$139.57', '5.05%', '2.53%', '$9,268,352,739', '$6,398,683,25345,844,256 LTC', '66,404,402 LTC', '', '']
['', '9', 'Binance Coin9BNB', '$52.01', '9.51%', '26.19%', '$8,037,766,017', '$1,400,850,66926,932,528 BNB', '154,532,785 BNB', '', '']
['Crypto.com - 50% Off BTC and MoreGet up to 50% off Top Coins like BTC, ETH, ADA, and many more. Stake CRO to Save and Earn More.Sign UpSponsored']
['', '', 'Bitcoin CashBCH', '$420.73542919305737', '1.52%', '-3.18%', '', '', '', '', '']
['', '', 'StellarXLM', '$0.32485356262831', '-8.77%', '25.20%', '', '', '', '', '']
['', '', 'USD CoinUSDC', '$1.00057119388637', '0.07%', '0.02%', '', '', '', '', '']
['', '', 'UniswapUNI', '$18.9750611410989', '3.59%', '51.02%', '', '', '', '', '']
['', '', 'DogecoinDOGE', '$0.03335405094466', '-15.08%', '300.82%', '', '', '', '', '']
['', '', 'Wrapped BitcoinWBTC', '$34790.69230685393', '1.72%', '8.19%', '', '', '', '', '']
['', '', 'AaveAAVE', '$288.1461683804232', '-2.70%', '13.18%', '', '', '', '', '']
['', '', 'Bitcoin SVBSV', '$178.88031227686005', '-2.52%', '2.34%', '', '', '', '', '']

0 个答案:

没有答案