我正在尝试使用Python2.7.5中的BeatifulSoup4解析此页面。我的代码如下:
url = "https://coinmarketcap.com/currencies/CRYPTO/historical-data/?
start=20171124&end=20171130"
url.replace('CRYPTO', crypto['id'])
response = urllib2.urlopen(url)
data = response.read()
soup = BeautifulSoup(data, 'html5lib')
trs = soup.find(id="historical-data").findAll('tr')
需要将CRYPTO替换为'bitcoin'等。
在PyCharm中查看变量时,除了表格中的数据外,一切看起来都很好。我们应该看到:
<tr class="text-right">
<td class="text-left">Nov 30, 2017</td>
<td>9906.79</td>
<td>10801.00</td>
<td>9202.05</td>
<td>10233.60</td>
<td>8,310,690,000</td>
<td>165,537,000,000</td>
</tr>
这是Google Chrome的检查窗口和curl显示给我的信息,而BeautifulSoup则显示如下:
<tr class="text-right">
<td class="text-left">Nov 30, 2017</td>
<td>0.009829</td>
<td>0.013792</td>
<td>0.009351</td>
<td>0.013457</td>
<td>152</td>
<td>119,171</td>
</tr>
为什么数字不一样?
我使用了urllib2和requests。我用response.text和response.read()。我用lxml和html5lib解析。我尝试过不同的编码,如iso-8859和ascii。但都没有成功。
我该如何正确显示数字?