【发布时间】:2019-05-16 17:54:11
【问题描述】:
目前在 .csv 中处理以下输出,其中的各种随机字符是不应该出现的玩家姓名和值
(我在下面给出了输出的图片)
我想知道我在努力消除随机字符的代码中哪里出错了
我正在尝试删除下面的字符,例如 Â、Ã、©、‰ 等。 有什么建议吗?
Python 代码
#importing
import requests
from bs4 import BeautifulSoup
import pandas as pd
headers = {'User-Agent':
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/47.0.2526.106 Safari/537.36'}
#calling websites
page = "https://www.transfermarkt.co.uk/transfers/transferrekorde/statistik/top/plus/0/galerie/0?saison_id=2000"
pageTree = requests.get(page, headers=headers)
pageSoup = BeautifulSoup(pageTree.content, 'html.parser')
#calling players names
Players = pageSoup.find_all("a", {"class": "spielprofil_tooltip"})
#Let's look at the first name in the Players list.
Players[0].text
#calling value of players
Values = pageSoup.find_all("td", {"class": "rechts hauptlink"})
#Let's look at the first name in the Values list.
Values[0].text
PlayersList = []
ValuesList = []
for i in range(0,25):
PlayersList.append(Players[i].text)
ValuesList.append(Values[i].text)
df = pd.DataFrame({"Players":PlayersList,"Values":ValuesList})
df.to_csv('2000.csv', index=False)
df.head()
================================================ ======================
我的 Excel 输出
【问题讨论】:
-
您是否尝试过
pageTree.text而不是pageTree.content以便自动处理编码?可能会发现它会为您解决所有问题。 -
这些字符显然是从 ISO-8859-1 或 Windows 代码页 1252 上下文中看到的 UTF-8 字符(如 é => é)。输出可能是正确的,是您正在查看它的系统未设置为 UTF-8。
-
哦,我必须纠正自己。问题是 Excel:stackoverflow.com/questions/6002256/…
-
@JonClements 嘿乔恩,试了一下,它不会改变字符
-
@WalterTross 谢谢你的链接,我在导入和工作后更改了 excel 中的编码
标签: python excel csv web-scraping export-to-csv