2016-09-17 17 views
0

Library of Babelからテキストを抽出しようとしているコードを作成しています。pythonを使用してURLを解釈する方法

基本的には、16進数、壁、シェルフ、ボリューム、およびページのシステムを使用して、ランダムに生成されたテキストファイルのライブラリを分割します。 2、ウォール:1、棚板:2、容積:22、ページ:1。

私は理想的にランダムに抽出するために、すべてのこれらの変数間でページを生成したいと思いますここでは一例(https://libraryofbabel.info/book.cgi?2-w1-s2-v22:1) は、ここでは、ヘックスを持っていますテキストは、私が想像する出力を得ていません。ここで

が私のコードです:私はhttps://libraryofbabel.info/browse.cgiするURLを変更した場合

import requests 
from bs4 import BeautifulSoup 
from urlparse import urlparse 
import random 

hex = str(random.randint(0, 6)) 
wall = str(random.randint(1, 4)) 
shelf = str(random.randint(1, 5)) 
vol = str(random.randint(1, 32)) 
page = str(random.randint(1, 410)) 

print("Fetching: " + " Hex: " + hex + ", Wall: " + wall + ", Shelf: " + shelf + ", Vol: " + vol + ", Page: " + page) 
babel_url = str("https://libraryofbabel.info/browse.cgi?" + hex + "-w" + wall + "-s" + shelf + "-v" + vol + ":" + page) 
r = requests.get(babel_url) 
soup = BeautifulSoup(r.text) 
print(soup.get_text()) 

私の出力はそれと同一です。 print(babel_url)は、私がURLを書いた方法はうまくいますが、何かが私が望むやり方で書いたものを解釈していないことを示しています。

私はhttps://libraryofbabel.info/book.cgi?2-w1-s2-v22:1をクロムに貼りつけるだけで、私はhttps://libraryofbabel.info/book.cgiになります。しかし、https://libraryofbabel.info/book.cgi?2-w1-s2-v22:1(または他のページ)に移動すると、自由にページ間を移動できます。

私は出力に言及する価値が取得する唯一のものは、次のとおりです。

あなたのブラウザではJavaScriptが無効になっています表示されます。このリンクをたどって、javascriptなしでブラウズしてください。あなたのメガネを着用し

+0

何を要求していますか? – ozgur

+0

私は同じ出力を得て、私はURLが正しく解釈されていないと感じています。 javascriptのコメントの後では出力はそれほど役に立ちません。ちょうど2文字の約50-60行であるようです。 – TheMetaHorde

+0

興味深い。私は私の端末でURLをテストし、私はhtmlコンテンツを入手することができました。 'http://100.15.190.133/book.cgi?2-w1-s2-v22:1'のようなIPアドレスでURLをテストすることはできますか?私のHTTPリクエストのヘッダーは '{'Connection': 'keep-alive'、 'Accept-Encoding': 'gzip、deflate'、 'Accept': '*/*'、 'User-Agent': ' python-requests/2.11.0 '} '次のようにしてチェックすることができます:' print(r.request.headers) ' – ozgur

答えて

関連する問題