微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从数据中抓取表格后拆分字符串

如何解决从数据中抓取表格后拆分字符串

我正在从网页中抓取数据,想看看是否有一种简单的方法来分隔字符串。总长度是 100 种不同的山寨币,包含名称、价格、流通供应和数量供应。名称包含名称和总和。

例如:比特币BTC 目标:把名字和符号分开,所以我只得到名字

价格有美元符号 例如:1.00 美元 目标:分离美元符号,所以我只得到值

流通量供应有价有符号

例如:1,000,000 BTC 目标:分开所以我只得到价值

我可以这样做,但问题是抓取是在循环中完成并存储在字典中。然后我在循环之外创建一个数据框。

coin_name = coin_name.split('\n')[0]
prices = prices.split('$')[1]
market_caps = market_caps.split('$')[1]
cir_sup = cir_sup.split()[0]
volume_sup = volume_sup.split()[0]

这是在循环内:

results = [{"Alt coin name": coin.text,"Price": price.text,"Market cap": cap.text,"Circulating supply":cir.text,"Volume": vol.text} for coin,price,cap,cir,vol in zip(coin_name,prices,market_caps,cir_sup,volume_sup)]

解决方法

数据由 GET Restful API 调用填充。

import requests

session = requests.Session()
URI = "https://web-api.coinmarketcap.com/v1/cryptocurrency/listings/latest"

params = dict(
        start=101,limit=100,sort='market_cap',sort_dir='desc',convert='USD',cryptocurrency_type='all',aux='circulating_supply,max_supply,total_supply'
)

headers = {'User-Agent': ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) '
           'AppleWebKit/537.36 (KHTML,like Gecko) '
           'Chrome/39.0.2171.95 Safari/537.36'),'Content-Type': 'application/json'}

session.headers.update(headers)

# probably you can put this in a while-loop and call it every N-time
# as the data updates
r = session.get(URI,params=params)

data = r.json()
print(data)

使用 BeautifulSoup

from bs4 import BeautifulSoup
import requests

URL = 'https://coinmarketcap.com/1/'

r = requests.get(URL)

soup = BeautifulSoup(r.text,'lxml')

table = soup.find('table')

#columns = ' '.join([item.get_text(',') for item in table.find('thead').find_all('tr')]).split(',')

rows = [i.split(',') for i in [item.get_text(',') for item in table.find('tbody').find_all('tr')]]

print(rows)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?