2016-11-08 8 views
0

Webページには他の詳細と一緒にジャーナル名の巨大なリストがあります。テーブルの内容をデータフレームにスクラップしようとしています。urllib2.HTTPError:Webスクラップ中に巨大なリスト

#http://www.citefactor.org/journal-impact-factor-list-2015.html 

import bs4 as bs 
import urllib #Using python 2.7 
import pandas as pd 

dfs = pd.read_html('http://www.citefactor.org/journal-impact-factor-list-2015.html/', header=0) 
for df in dfs: 
    print(df) 
    df.to_csv('citefactor_list.csv', header=True) 

しかし、私は次のエラーが発生しています。私は既に提起された質問を参照しようとしましたが修正できませんでした。

エラー:

Traceback (most recent call last): 
    File "scrape_impact_factor.py", line 7, in <module> 
    dfs = pd.read_html('http://www.citefactor.org/journal-impact-factor-list-2015.html/', header=0) 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 896, in read_html 
    keep_default_na=keep_default_na) 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 733, in _parse 
    raise_with_traceback(retained) 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 727, in _parse 
    tables = p.parse_tables() 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 196, in parse_tables 
    tables = self._parse_tables(self._build_doc(), self.match, self.attrs) 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 450, in _build_doc 
    return BeautifulSoup(self._setup_build_doc(), features='html5lib', 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 443, in _setup_build_doc 
    raw_text = _read(self.io) 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/html.py", line 130, in _read 
    with urlopen(obj) as url: 
    File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__ 
    return self.gen.next() 
    File "/usr/local/lib/python2.7/dist-packages/pandas/io/common.py", line 60, in urlopen 
    with closing(_urlopen(*args, **kwargs)) as f: 
    File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen 
    return _opener.open(url, data, timeout) 
    File "/usr/lib/python2.7/urllib2.py", line 410, in open 
    response = meth(req, response) 
    File "/usr/lib/python2.7/urllib2.py", line 523, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/usr/lib/python2.7/urllib2.py", line 448, in error 
    return self._call_chain(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 500: Internal Server Error 

答えて

1

500内部サーバーエラーは、何かがサーバー上で間違っていたので、あなたのコントロール外であることを意味します。

ただし、間違ったURLを使用しているという問題があります。

ブラウザでhttp://www.citefactor.org/journal-impact-factor-list-2015.html/にアクセスすると、404エラーが見つかりません。末尾のスラッシュ(例:http://www.citefactor.org/journal-impact-factor-list-2015.html)を削除すると機能します。

+0

ありがとうございました。後処理を削除しました。 –

+0

ISSN番号またはタイトル検索に基づいてデータフレームをスクラップする可能性はありますか?参照するURLは言及せずに? –

関連する問題