-1

このリンクがあります: http://dx.doi.org/10.1109/mper.1991.88667

Pythonでヘッダーを取得してその中で見つけるにはどうすればよいarnumber=88667ですか? つまり、http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=88667 のみを取得 (サイトやその他のすべてではなく)、arnumber=88667 を見つけます。

よろしくお願いします。

4

4 に答える 4

0

別のオプション (リクエストまたは機械化なし):

import urllib2

url_path = "http://dx.doi.org/10.1109/mper.1991.88667"
urllib2.urlparse.parse_qs(urllib2.urlopen(url_path).url)["arnumber"][0]
>>> '88667'
于 2013-05-25T12:03:28.737 に答える
0

最も簡単なオプションは、pythonurllib2urlparseモジュールを使用することです。記事番号だけを取得するだけであれば、 のような外部ライブラリやフレームワークは必要ありませんrequests。コードは次のとおりです。

import urllib2
from urlparse import parse_qs, urlsplit

response = urllib2.urlopen('http://dx.doi.org/10.1109/mper.1991.88667')
url = response.url
print url       # http://ieeexplore.ieee.org:80/xpl/articleDetails.jsp?reload=true&arnumber=88667

article = parse_qs(urlsplit(url).query)['arnumber'][0]
print article   # 88667

このコードは少し長くて冗長に見えるかもしれませんが、実際に何をするのかを理解するのに役立つはずです。

ブラウザをシミュレートする (一連のページをナビゲートする、Cookie を受け入れるなど) など、後でより高度なことを行う必要がある場合は、 をお勧めしmechanizeます。これは非常に強力なライブラリであり、記事番号だけを取得したい場合には多すぎるかもしれません。arnumber 文字列を取得する方法は、以下のコード例に示されています。

from mechanize import Browser
from urlparse import parse_qs, urlsplit

br = Browser()
response = br.open('http://dx.doi.org/10.1109/mper.1991.88667')

url = response.geturl()
print url       # http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=88667

article = parse_qs(urlsplit(url).query)['arnumber'][0]
print article   # 88667
于 2013-05-25T10:56:10.457 に答える
0

requestsライブラリを使用できますurlparse

import requests
from urlparse import parse_qs, urlsplit

r = requests.get('http://dx.doi.org/10.1109/mper.1991.88667')
print parse_qs(urlsplit(r.url).query)['arnumber'][0]

あなたができるように見えますが:

print 'http://dx.doi.org/10.1109/mper.1991.88667'.rpartition('.')[2]
于 2013-05-25T10:57:42.557 に答える
0
pip install requests

import requests
from urlparse import parse_qs, urlsplit

r = requests.get("http://dx.doi.org/10.1109/mper.1991.88667")
url = r.url
get_parameter = parse_qs(urlsplit(url).query)['arnumber'][0]

詳細については、リクエストのドキュメントurlparse のドキュメントを参照してください。

于 2013-05-25T10:58:51.537 に答える