0

urllib2を使用していくつかの株式情報をスクレイピングしています。

私のコードのいくつかは次のとおりです。

    cap_url = "http://wisefn.stock.daum.net/company/c1010001.aspx?cmp_cd=%s" % code
    cap_req = urllib2.Request(cap_url)
    cap_data = urllib2.urlopen(cap_req).read()
    ~
    ~
    ~
    depr_url = "http://wisefn.stock.daum.net/company/cF3002.aspx?cmp_cd=%s&frq=Q&rpt=ISM&finGubun=MAIN" % code
    depr_req = urllib2.Request(depr_url)
    depr_data = urllib2.urlopen(depr_req).read()
    ~
    ~
    ~
    transaction_url = "http://www.shinhaninvest.com/goodicyber/mk/1206.jsp?code=%s" % code
    transaction_data = urllib2.urlopen(transaction_url).read()
    soup = BeautifulSoup(transaction_data, fromEncoding="utf-8")

ご存知のように、%sは銘柄コードです。与えられた銘柄コードで、私はすべての銘柄情報をスクレイピングしています。銘柄コードの総数は1,600を超えています。次に、収集した情報をxlwtを使用してExcelに書き込みます。

ただし、一部のURLに接続したり、そのURLを手動で入力したりできる情報を取得したりすることはできません。

どうしたの?そして、どうすればページのスクレイピングを高速化できますか?

4

1 に答える 1

0

まず、ウェブサイトの robots.txt ファイルを確認します。ほとんどの場合、ネイティブの python ユーザー エージェントが禁止されます。したがって、urllib2 のユーザー エージェントを変更することを検討してください。2番。Web サイトのコンテンツは JavaScript によって生成されている可能性があり、その場合、urllib2 はそれを評価できません。この目的のために、Selenium ドライバー、または PyQt フレームワークなどを使用できます。

于 2012-12-26T19:59:36.093 に答える