2017-07-20 8 views
0

私は、ウェブサイトhttp://immobilienscout.deで家のリストについてのデータを削り取ろうとしています。これまでは、リストエージェントの電話番号を除いて、必要なすべてのデータを収集しました。美味しいスープを使ってウェブサイトから隠した電話番号を盗む方法4

問題テキストに到達するためのパスがわかりません。

たとえば、価格を探したいとします。

link = "https://www.immobilienscout24.de/expose/96068611" 
html = urllib2.urlopen(link) 
soup = BeautifulSoup(html, "html.parser") 

findMobile = soup.find('div', attrs={'class': 'is24-phone-number'}) 
print findMobile.text.strip() 

出力なしで:私のコードは次のようになり

<div class="is24-phone palm-hide" data-is24-phone-number-block="" data-ng-show="!showPhoneNumbers" data-position="top"> 
      <div class="is24-show-phone-button print-hide hide"> 
       <span class="fa fa-phone font-lightgray"></span> 
       <a href="javascript:void(0);" class="internal-link"><font><font>Show phone number</font></font></a> 
      </div> 
      <div class="is24-phone-number"> 
       <p> 
        <span><font><font>Mobil:</font></font></span><font><font> 0162 2056442</font></font></p> 
       <p> 
        <span><font><font>Phone:</font></font></span><font><font> 030 72021143</font></font></p> 
       </div> 
      </div> 

HTMLコード:見つけるための私のコードは次のようになります。代わりに、出力は次のようになります。0162 20564422.

助けてください。

+0

あなたは 'Sel (https://www.immobilienscout24.de/anbieter/api/branchenbuch/v1.2/realtor/002.01004402519?clientId = expose') –

答えて

0

たとえばChromeでページを開くと、スクラップしたいアイテムを右クリックして[要素の検査]を押すことができます。次に、再びポップアップするDOMのビューで、要素を右クリックして、Copy> Copy selectorを選択します。 https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors

:ここ .select()のドキュメントです:それはあなただけ

soup.select("#sidebar > div.module.community-bulletin > div > div:nth-child(10) > div.bulletin-item-content > a") 

編集を行うことで、その要素を選択することができるはずです、あなたに続いて

#sidebar > div.module.community-bulletin > div > div:nth-child(10) > div.bulletin-item-content > a 

のようになりますCSSセレクタを与える必要があります

ここに例があります:

>>> from bs4 import BeautifulSoup 
>>> import requests 
>>> r = requests.get("https://stackoverflow.com/questions/45224417/how-to-scrape-hidden-phone-number-from-website-using-beautiful-soup-4/45224481#45224481") 
>>> soup = BeautifulSoup(r.text, 'html.parser') 
>>> soup.select("#comment-77415832 > td.comment-text > div > span.comment-copy") 
[<span class="comment-copy">I tried to use your code for the element I am interested but the output is an empty list. Any ideas how to solve this?</span>] 
+0

私はあなたのコードを使用しようとしました。要素私は興味がありますが、出力は空のリストです。任意のアイデアをどのようにこれを解決するには? – chunkaleonig

+0

セレクターを正しくコピーしていることを確認してください。私はあなたのコメントを含むスパンを取得する方法を示す私の投稿に例を追加しました。あなたの場合、最も内側の要素を右クリックし、そのセレクタをコピーするように見えます。 – user3030010

+0

ねえ、動作しません。空のリストを返します。それはなぜですか、何らかの暗号化が可能でしょうか? – chunkaleonig

関連する問題