2016-12-15 5 views
0

Replitでlxmlリクエストを試していますが、なぜ動作していないのかわかりません。私はこのエラーを取得する場所プログラムは、最大再試行するまで実行を停止しません:replxのlxmlリクエスト

Traceback (most recent call last): File "python", line 6, in requests.exceptions.ConnectionError: HTTPConnectionPool(host='www.presidency.ucsb.edu', port=80): Max retries exceeded with url: /ws/index.php?pid=29400.html (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',))

を私のコードは非常に簡単です:

from lxml import html 
import requests 

url = 'http://www.presidency.ucsb.edu/ws/index.php?pid=29400.html' 

r = requests.get(url) 
tree = html.fromstring(r.content) 

text = tree.xpath('//span[@class="displaytext"]/text()') 

print(text) 

私はこれを実行するために取得できますか?私はそのウェブサイトのコンテンツを取得しようとしています、 "displaytext"スパンクラスにあります。参考までにthis Python guideを使っています。

Pythonバージョン3.5

+1

あなたのコードを実行すると出力が出ます: '' '>>> print text [HOWARD K. SMITH、モデレーター:おはようございます。米国のテレビ局とラジオ局とその系列局は誇りに思っています共和党の候補者、など... "あなたがピップを介してリクエストモジュールをインストールしましたか?" python version?(私は2.7) –

+1

ps:私はpythonで直接作業していましたrepl.itは私にリクエストをインポートすることを許可していません –

+0

この問題はrepl.it.での引き込み要求にあります:) –

答えて

4

私はRepl.itのエンジニアであり、これは私たちのプラットフォームの制限です。現在、発信ネットワークリクエストは許可されていません。

+0

なぜですか?いつかどういうふうにサポートする予定ですか? – fiatjaf

+0

発信要求をサポートする他のオンラインIDEはありますか? –

1

私は物事を整理することができるので、答えに切り替えることができます。

ターゲットとするウェブサイトのHTMLをご覧ください。これは、選択することになる

text = tree.xpath('//span[@class="displaytext"]/..') 
for element in text[0]: 
    print element 

:あなたはにあなたのコードを変更することができ、クラス「表示テキスト」

と、特定のスパンに

text = tree.xpath('//span[@class="displaytext"]/text()') 

ポイント:このコマンドを使用すると、1つだけ、特定のタグを選択していますクラス "displaytext"でスパンし、そのスパンの親を選択します。そしてforループの中で、その親のすべての子を出力します。

実際の問題点を示します。段落要素はそのリストにありません。申し訳ありませんが、その答えは分かりません。