0

Python を使用して、中国の Web サイトから動的な株式情報をスクラップしようとしています。

http://vip.stock.finance.sina.com.cn/mkt/#cyb_root

ただし、私は Python の初心者です。それで、誰かが私に手を貸してくれませんか?本当にありがとう。

私がやりたいことは、上記の Web サイトから HTML 動的データをスクレイピングすることだけです。

4

2 に答える 2

1

http://docs.python-requests.org/en/latest/またはhttp://doc.scrapy.org/en/0.16/を使用できます。

多くのリンクをたどりたい場合、またはオブジェクトのさまざまなタイプをクロールする必要がある場合。スクレイピーを強くお勧めします。ウェブサイトの例が必要な場合はお知らせください。どちらのライブラリも非常に使いやすいです。

于 2013-07-16T17:59:52.200 に答える
1

私はあなたのウェブサイトを試しましたが、あなたの場合、selenium のようなブラウザー自動化ツールを使用してクローラーを実行する方が簡単です。sina.com.cn の動作例を次に示します。

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://vip.stock.finance.sina.com.cn/mkt/#cyb_root")
rows = driver.find_elements_by_xpath("//div[@id='tbl_wrap']//tbody/tr")
for row in rows:
    name = row.find_element_by_xpath("./th[@class='sort_down']/a").text
    values = [v.text for v in row.find_elements_by_xpath("./td[@class='colorize']")]
    print "%s : %s" % (name, values)
driver.close()

このスクリプトを実行すると、次のようになります。

$ python sina_com.py
sz300001 : [u'16.51', u'+0.64', u'+4.033%', u'16.51', u'16.52', u'15.87', u'15.86', u'16.58', u'15.80']
sz300002 : [u'--', u'0.00', u'0.000%', u'0.00', u'0.00', u'19.34', u'0.00', u'0.00', u'0.00']
sz300003 : [u'10.86', u'-0.05', u'-0.458%', u'10.85', u'10.86', u'10.91', u'10.98', u'10.98', u'10.59']
sz300004 : [u'22.86', u'+1.21', u'+5.589%', u'22.86', u'22.87', u'21.65', u'21.74', u'22.98', u'21.10']
sz300005 : [u'10.91', u'+0.35', u'+3.314%', u'10.91', u'10.94', u'10.56', u'10.51', u'10.99', u'10.51']
.....

:) 幸運を

于 2013-07-16T23:54:02.180 に答える