使用Python的urllib2连接URL

时间:2012-12-04 14:43:25

标签: python-2.7 urllib2

我正在使用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。

但是,我无法连接到某个网址或获取信息,因为我可以手动输入该网址。

有什么问题?我怎样才能加快抓页?

1 个答案:

答案 0 :(得分:0)

首先,我会检查网站的robots.txt文件。它很可能禁止本机python用户代理。因此,您可以考虑更改urllib2的用户代理。 第二。网站内容可能由JavaScript生成,如果是这样,urllib2无法对其进行评估。为此,您可以使用Selenium驱动程序或PyQt框架或类似的。