0
私は乗客のためにウェブページを掻き集めようとしました&貨物データ。私はそれらを通常のデータに変換できませんでした。ウェブエンコーディングは難しいようです。PythonでUTF8エンコーディングを削除する
私が使用したコードは次のとおりです。
from __future__ import print_function
import requests
import pandas as pd
from bs4 import BeautifulSoup
import urllib
url = "https://www.faa.gov/data_research/passengers_cargo/unruly_passengers/"
r = requests.get(url)
soup = BeautifulSoup(r.content)
links = soup.find_all("tbody")
for link in links:
print(link.text)
出力1
これはフォーマット年と合計で印刷します。しかし、リストに追加すると、エンコーディングによってデータが失われます。あなたは私を実行するために出力1
names = []
for link in links:
names.append(link.text)
names = map(lambda x: x.strip().encode('ascii'), names)
print(names)
出力2
に所望の出力は、年合計であることを見ることができます。このようfind_all tr
とtd
使用することができます
「\ n」は簡単に置き換えたり分割したりできる改行です。 –
あなたのデータを破壊しているわけではありません。あなたのデータは問題ありません。以前とまったく同じ文字が含まれています。それは文字列を直接 'print'した場合とは異なった表示になります。 – user2357112
実際に実行したコードに 'map(lambda x:x.strip()。encode( 'ascii')、names)'ステップが含まれておらず、 'encode( 'ascii')'部分がおそらく必要ない。 – user2357112