【发布时间】:2018-12-05 06:28:06
【问题描述】:
我目前正在运行以下 python 脚本:
import requests
from bs4 import BeautifulSoup
origin= ["USD","GBP","EUR"]
i=0
while i < len(origin):
page = requests.get("https://www.x-rates.com/table/?from="+origin[i]+"&amount=1")
soup = BeautifulSoup(page.content, "html.parser")
tables = soup.findChildren('table')
my_table = tables[0]
rows = my_table.findChildren(['td'])
i = i +1
for rows in rows:
cells = rows.findChildren('a')
for cell in cells:
value = cell.string
print(value)
从这个 HTML 中抓取数据:
https://i.stack.imgur.com/DkX83.png
我遇到的问题是我正在努力只刮第一列而不刮第二列,因为它们都在标签下并且彼此位于同一表格行中。 href 是唯一可以区分两个标签的东西,我尝试使用它进行过滤,但它似乎不起作用并返回一个空白值。此外,当我尝试手动对数据进行排序时,输出被垂直而不是水平修改,我是编码新手,所以任何帮助将不胜感激:)
【问题讨论】:
标签: python web-scraping beautifulsoup