Pythonを使用して、私は不動産のウェブサイトをスクラップしてアパートについての情報を得ようとしています。必要な情報はすべて、ページの先頭に格納されているjavascript変数(ava_data)にあります。urlopen/requests.getすべてのページコンテンツを取得しない
私はcloud9(オンラインIDE)から取り組んでいますが、私はそれを切り替えない方がいいです。 私は美味しいスープを掻き取りに使用しています。
from bs4 import BeautifulSoup
import os
import requests
url = 'http://www.seloger.com/list.htm?idtt=1&idtypebien=1,2&ci=750120,750114&tri=initial&naturebien=1&nb_pieces=2&pxmax=1250&surfacemin=40'
seloger_html = requests.get(url)
soup = BeautifulSoup(seloger_html.text,'html.parser')
path = os.getcwd() + '/COMPLET/scrap_seloger.txt'
f = open(path, 'w')
f.write(soup.prettify().encode('utf8'))
は私が一貫は私のスープのページからすべての情報を取得することはできません。これを確認するために、私はprettifiedスープをtxtファイルに書きました。
それが動作するとき、私は(私はChromeでの検査から得るものと同じ)次のファイルを取得:それはしていない場合、私は次の取得https://ufile.io/eue0b
を:https://ufile.io/f1dnx
私は右のファイルを取得するために管理しています数十回の試行のうち4〜5回だけである。私が知ることから、urllib.urlopen()を試してみるのは初めてで、requests.get()で試したのは初めてです。私が知る限り、私はそれが他の時代に働く前に特別なことをしなかった。それが成功するたびに、次回は失敗しました。
- JSを使用せずにDOMを取得するURLを開く前に、ChromeでJavascriptを無効にしてみました。以前と同じでした。 - >私はそれがJSでDOMに追加されたものの問題ではないと思います。
- 前にヒントとして、私はurllibと要求を試みました。どちらも一貫して動作しません。
- セッションが毎回変更されるため、クッキーは問題ではありません。
- 私はCloud9を使用しているため、ブラウザでSeleniumを使用することはできません。
質問に[mcve] *を入れてください。 See [ask]。 – jonrsharpe
申し訳ありませんが、私はそれを見ていませんでした。私は今それを追加しました。 –