Python を使用して、中国の Web サイトから動的な株式情報をスクラップしようとしています。
http://vip.stock.finance.sina.com.cn/mkt/#cyb_root
ただし、私は Python の初心者です。それで、誰かが私に手を貸してくれませんか?本当にありがとう。
私がやりたいことは、上記の Web サイトから HTML 動的データをスクレイピングすることだけです。
Python を使用して、中国の Web サイトから動的な株式情報をスクラップしようとしています。
http://vip.stock.finance.sina.com.cn/mkt/#cyb_root
ただし、私は Python の初心者です。それで、誰かが私に手を貸してくれませんか?本当にありがとう。
私がやりたいことは、上記の Web サイトから HTML 動的データをスクレイピングすることだけです。
http://docs.python-requests.org/en/latest/またはhttp://doc.scrapy.org/en/0.16/を使用できます。
多くのリンクをたどりたい場合、またはオブジェクトのさまざまなタイプをクロールする必要がある場合。スクレイピーを強くお勧めします。ウェブサイトの例が必要な場合はお知らせください。どちらのライブラリも非常に使いやすいです。
私はあなたのウェブサイトを試しましたが、あなたの場合、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']
.....
:) 幸運を