Python:配当を受ける株
3552 ワード
中国証券網のホームページに今日の取引のヒントがあって、中には配当の株式の登録日があります
誰がどのくらいの株式を保有しているかを登録する日は、当日の終値を基準に、終値でその株を保有している場合は、配当、転増の権利を有する.
今日は配当が見られますが、配当率が高いなら、手に入れてみてください.
以前はBeautifulSoupで解析していましたが、速度が遅いことがわかり、今回はlxmlでxpathで解析しました.
XPathの説明:
何ですか.XML Path Languageと呼ばれる小型のクエリー言語XPathはゲート言語であり、1)XMLで情報を検索できる2)HTMLの検索をサポートする3)要素と属性でナビゲートできる利点があると言わざるを得ない
XPathの簡単な呼び出し方法
XPathの使い方
4つのラベルの使用方法//ダブルスラッシュはルートノードを位置決めし、全文をスキャンし、ドキュメント内で条件に合致するすべての内容を選択し、リスト形式で返します. /シングルスラッシュ現在のラベルパスの次のパスラベルを探すか、または現在のパスラベルの内容を操作する ./text()現在のパスのテキストコンテンツ を取得する./@xxxx現在のパスの下にあるラベルの属性値 を抽出|オプション使用|は、//p|//divのような複数のパスを選択することができ、すなわち、現在のパスの下で条件を満たすすべてのpラベルおよびdivラベルを選択することができる. . ポイント現在のノード を選択するためのポイント .. 2点現在のノードの親ノード を選択
前の質問に戻りますが、BeautifulSoupでhtmlを読み取り、lxmlで解析します.
誰がどのくらいの株式を保有しているかを登録する日は、当日の終値を基準に、終値でその株を保有している場合は、配当、転増の権利を有する.
今日は配当が見られますが、配当率が高いなら、手に入れてみてください.
以前はBeautifulSoupで解析していましたが、速度が遅いことがわかり、今回はlxmlでxpathで解析しました.
XPathの説明:
何ですか.XML Path Languageと呼ばれる小型のクエリー言語XPathはゲート言語であり、1)XMLで情報を検索できる2)HTMLの検索をサポートする3)要素と属性でナビゲートできる利点があると言わざるを得ない
XPathの簡単な呼び出し方法
from lxml import etree
selector=etree.HTML( ) # XPath
selector.xpath( ) #
XPathの使い方
4つのラベルの使用方法
前の質問に戻りますが、BeautifulSoupでhtmlを読み取り、lxmlで解析します.
#! /usr/bin/env python
#coding=utf-8
from bs4 import BeautifulSoup as BS
import random
import urllib2
import sys
import chardet
import time
import os
from lxml import etree
reload(sys)
sys.setdefaultencoding('utf-8')
sub_folder = os.path.join(os.getcwd(), "transaction_hint")
if not os.path.exists(sub_folder):
os.mkdir(sub_folder)
os.chdir(sub_folder)
my_userAgent = [
'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
'Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11',
'Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)']
user_agent = random.choice(my_userAgent)
headers = {'User-Agent': user_agent, 'Host': "xinpi.cnstock.com",
'DNT': '1',
'Accept': 'text/html, application/xhtml+xml, */*', }
proxy_support = urllib2.ProxyHandler({"http":"http://your_proxy:8080/"})
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)
#
transaction_news_site = "http://xinpi.cnstock.com/"
#print transaction_news_site
req = urllib2.Request(url=transaction_news_site, headers=headers)
resp = urllib2.urlopen(req)
html = resp.read()
selector = etree.HTML(html)
content = selector.xpath('//ul[@class="jc-fl-list"][2]/li/a/text()')
for i in content:
print str(i)