私はpython 2.7を使用しており、requests.contentをBeautifulSoupオブジェクトに変換しています。 divを表示するために開発者ツールを使用すると、div内にテキストがあります。 BeautifulSoupを使ってdivを返すと、divにテキストはありません。私のBeautifulSoupオブジェクトに、私のウェブページが行うテキスト属性が含まれていないのはなぜですか?
import pandas as pd
from bs4 import BeautifulSoup
from urllib2 import urlopen
from string import punctuation
from requests import get
roster = pd.read_csv(#file w/ player names)
name_corrections = {
'matt-dellavedova' : 'matthew-dellavedova',
'marcelinho-huertas' : 'marcelo-huertas',
'derrick-jones' : 'derrick-jones-jr',
'john-lucas' : 'john-lucas-iii',
'james-mcadoo' : 'james-michael-mcadoo',
'raulzinho-neto' : 'raul-neto',
'otto-porter' : 'otto-porter-jr',
'glenn-robinson' : 'glenn-robinson-iii',
'domas-sabonis' : 'domantas-sabonis',
'lou-williams' : 'louis-williams',
'joe-young' : 'joseph-young',
}
url = 'http://projects.fivethirtyeight.com/carmelo/'
def remove_punctuation(s):
s = ''.join([i for i in s if i not in ".,'"])
return s
def process_id(roster):
roster['538id'] = roster['Player'].apply(remove_punctuation)
roster['538id'] = roster['538id'].apply(lambda x: x.replace(" ", "-"))
roster['538id'] = roster['538id'].apply(lambda x: x.lower())
roster['538id'].replace(name_corrections, inplace=True)
process_id(roster)
page = get(xurl)
soup = BeautifulSoup(page, 'lxml')
soup.findAll('div', class_='market-value')
これが返されます。
それ以降です。その答え/リンクは、フロントエンドで何が起こっているのかを理解するのに役立つ素晴らしい読書でした。 また、WebdriverとしてSeleniumを使用して、レンダリングの問題の解決に役立てることができました。 フィードバックと回答をありがとう。 – rconnol
私は助けて嬉しい:) – Shane