2016-09-12 7 views
0

私はPythonで私の能力を向上させるために、PythonとSeleniumを使ってスクレーパーを作成しています。 特定の要素の選択に問題があります。FacebookからPython 3のすべての名前を取得できない

facebookで私は誰かの友達のリストを掻き取ろうとしています。 これは私がインクルードは「FSL FWBのFCB」クラスを使用して名前が含まれているdiv要素を取得

nomifb = driver.find_elements_by_xpath("//div[@class='fsl fwb fcb']") 
print("We've found " + str(len(nomifb)) + " friends!")" 
file = open(filename, "w") 
for i in range(len(nomifb)): 
    nomifb_txt.append(nomifb[i].text) 
nomifb_txt.sort() 
for i in range(len(nomifb)): 
    file.write(nomifb_txt[i] + "\n") 
file.close() 

を書いたコードの一部です。それは多くの友人ではない人々に取り組んでいるようです。 もし私が400人以上の友達を迎えたら、それは約5%を逃しているようです。理由はわかりません:/

find_elementsを改善してすべての人の名前を得るためにとにかくありますか?

私は私のスクリプトに問題があったかどうかを確認するためにクロムでチェックが、「FSL FWBのFCB」タグは友人の総数よりも少ない時間を使用し、問題

は、私もそこにあるようですそれは「についてのその他の情報は、」ある

element = driver.find_element_by_xpath("//*[contains(text(), 'Altre informazioni su')]") 

を見つけるまでscrolldownのためにあまりにも-ハックソリューションを持っているように見える、それがダウンしていますが、それは他の言語をサポートしていない見ることができるように。 私はそれをより良い方法で選択する方法は?

初心者の質問申し訳ありませんが、あなたがより良い私を教えるために:)私はそれを修正するように見えたしました

乾杯

EDITを瞬間を割くことを願って!問題は、友達番号のFacebookブックカウントもアカウントを削除したことであり、それが矛盾の原因です。

+0

スクレイピングはFacebookを利用して許可されていない要素名で試すことができます。 – luschn

+0

私はあなたに同意しますが、私はそれをセレンとPythonを学ぶツールとして使用しています。私はtosに反するもののコードを共有するつもりはありません。 また、質問はFacebookの特定ではなく、どのサイトにも適用される可能性があります。 –

答えて

0

あなたはそれを行うべきではない、 element = driver.find_element_by_name("name of tag")

+0

こんにちは、問題はFacebookでした。私の編集を確認してください。 提案されたソリューションをありがとうございました –

関連する問題