0

だから私はBeautifulSoupを使って公開Facebookページを解析しようとしています。LinkedIn のスクレイピングには成功しましたが、Facebook で動作させるために何時間も費やしましたが、うまくいきませんでした。私が使用しようとしているコードは次のようになります。

for urls in my_urls:
try:
    page = urllib2.urlopen(urls)
    soup = BeautifulSoup(page)
    info = soup.find_all("div", class_="fsl fwb fcb")
    info2 = info.findall('a')

私を苛立たせている部分は、タイトル要素を取り出すことができ、文書のかなり下まで行くことさえできますが、取得する必要がある部分にたどり着けないことです。

次の行は、pageTitle を正常に取得します。

info = soup.find_all("title", attrs={"id": "pageTitle"})

この行は、要素のリストのかなり下まで行くことができますが、それ以上進むことはできません。

info = soup.find_all(id="pagelet_timeline_main_column")

これが私が解析しようとしているサンプルページです。そこから現在の都市が必要です:

https://www.facebook.com/100004210542493

そして、私が欲しい部分がどのように見えるかの簡単なスクリーンショットをここに示します:

http://prntscr.com/1t8xx6

私は本当に近くにいるように感じますが、それを理解することはできません. 助けてくれてありがとう!

編集2:スープ全体を正常に印刷して、必要な部分を視覚的に見つけることができることにも言及する必要がありますが、何らかの理由で解析がうまく機能しません。

4

1 に答える 1

2

curl または wget を使用して返されたコンテンツを調べてみてください。ブラウザに表示されているのは、JavaScript が実行された後にレンダリングされたものです。

wget https://www.facebook.com/100004210542493

(未加工のコンテンツを処理する代わりに) クライアント ブラウザーをシミュレートする必要があるため、memchanize または selenium を使用することをお勧めします。

それに関連する別の問題は、オブジェクトに他のクラスもある場合、美しいスープが CSS クラスを見つけられない可能性があることです。

于 2013-09-24T20:58:33.667 に答える