私はESPNから、いくつかのスケジュール表をこすりしようとしています:http://www.espn.com/nba/schedule/_/date/20171001ウェブスクレイピング - bd4を使用して<td foo = blahblah> TEXT</td>から「blahblah」を取得しますか?
import requests
import bs4
response = requests.get('http://www.espn.com/nba/schedule/_/date/20171001')
soup = bs4.BeautifulSoup(response.text, 'lxml')
print soup.prettify()
table = soup.find_all('table')
data = []
for i in table:
rows = i.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [col.text.strip() for col in cols]
data.append([col for col in cols if col])
私のコードは、日付情報不足している出力を除いて正常に動作します:いくつかの調査の後
[
"Phoenix PHX",
"Utah UTAH",
"394 tickets available from $6"
],
[],
[
"Miami MIA",
"Orlando ORL",
"1,582 tickets available from $12"
]
を、私は気づい日付と時刻の情報は次のようにタグ内にラップされます。
<td data-behavior="date_time" data-date="2017-10-07T23:00Z"><a data-dateformat="time1" href="/nba/game?gameId=400978807" name="&lpos=nba:schedule:time"></a></td>
これは、彼らはなぜこのようにしているのかを決して実際に理解したことはありません。私の出力に "2017-10-07T23:00Z"を取得するために、オープンタグ内のテキストを抽出するにはどうすればいいですか?