2016-10-20 8 views
-1

私はリクエストのレスポンスの中で検索しようとしています(リクエストとPythonを使用しました)。私は応答を受け取り、UNICODEであるそのタイプをチェックします。リクエストからの応答からテキストを取り出す方法python

他の2つの文字列の間にある特定のリンクを取得します。 は、私は、次のようなオンラインで見つけるさまざまな方法を試してみました:

  • s = unicodedata.normalize(response, title).encode('ascii','ignore')

  • result = re.**search**('Currently: <a ', s)
  • url_file = response.**find**('Currently: <a ', beg=0, end=len(response))
  • はまた、通常の文字列にUNICODE文字列を変換しようとしました

エラーが発生します。例えば

EDITED

これは動作します:

s = 'asdf=5;iwantthis123jasd' 
    result = re.search('asdf=5;(.*)123jasd', s) 
    print result.group(1) 

これは、(リターンエラー)は動作しません:

s = 'Currently: <a ' 
    result = re.search(r.text, s) 
    print result.group(1) 
+2

あなたは 'response.textをお探しですか'? –

+0

あなたの問題を理解しているかどうかはわかりません。応答オブジェクトのテキストは '.text'属性に格納されます。これは '要求'や正規表現で問題があり、 're'がそのテキストを検索しようとしていますか? – sytech

+0

私はresponse.textを持っています。私はそれから特定のURLを見つけようとします。私は上記の関数を使用してresponse.text内を検索しようとするとエラーが発生します。 – user1919

答えて

0

re.searchが間違っています。関数の最初の引数はパターンであり、第二の1は、元の文字列です:あなたは単にあなたが使用できるすべてのマッチのリストが必要な場合は

import re 
import requests 

s = '<a class=gb1 href=[^>]+>' 
r = requests.get('https://www.google.com/?q=python') 
result = re.search(s, r.text) 

print result.group(0) 

re.findall(s, r.text)

0
res = requests.get("http://google.com") 
re.search('pattern', res.text) 
+1

に渡しました。このコードスニペットで[解決方法を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-コードベースの回答)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 – andreas

関連する問題