シンプルな爬虫類を探します

#*****著作権©の蘇寧***** 
# - * -コーディング:UTF-8 - * -
Hephaestus.constantインポートCONFIG_DICTから
Hephaestus.processインポートmain_procから
Hephaestus.forge輸入鍛造から
の輸入sn_win sn_winとして
sn_win = (sn_win)鍛造
sncrawlerとして輸入sncrawler
sncrawler =鍛造(sncrawler)
sndictとして輸入sndict
sndict =鍛造(sndict)
snwebとしてインポートsnwebを
snweb =鍛造(snweb)


@main_proc( "他")
主流程ます。def main()の
#打开浏览器
ドライバは= snweb.open_browser(BROWSER_NAMEは= "クローム"、=真を再試行してください)
#打开资金管理系统
snweb.open_url(URL = '***')
点击
snweb.click_element(=ロケータ"のXPath //はINPUT [ID = 'ユーザ名' @] ="、タイムアウト= 10、INTR = Trueの場合、インデックス= 0)
は、値を取得します
(DIC = CONFIG_DICT、fundAccount = sndict.get_valueをキー= ' fundAccount ')
入力財務管理システムのユーザー名の
結果= snweb.input_text(ロケータ=「のxpath = //入力[ID = @'ユーザ名'] "、テキスト= fundAccountは、[0]、タイムアウト= 10、INTR = Trueの場合、インデックス= 0)
空のテキストボックス
snweb.clear_element(ロケータ= "のXPath = //入力【上記IDを挙げる= 'パスワード' @]"、タイムアウト= 10、INTR =真、インデックス= 0)
入力財務管理システムのパスワード
結果= snweb .input_text(ロケータ= "のxpath = // INPUT [上記のid = 'password'を述べた@]"、テキスト= fundAccount [1]、タイムアウト= 10、INTR = Trueの場合、インデックス= 0)
クリックログイン
結果= snweb.click_element(ロケータ= "のxpath = // [@ ID = 'loginbtn']"、タイムアウト= 10、真INTR =、インデックス= 0)
cookieStr = driver.get_cookies()

cookies_dict = {cookiedic [ "名前"]:cookiedic [ "値"] cookiedicためcookieStrにおける}
requests.utilsからcookiejar_from_dictをインポート
要求からセッションをインポート
lxmlのインポートetreeから
クッキー= cookiejar_from_dict(cookies_dict)
セッション=セッション()
session.cookies =クッキー

#data
データ= sndict.create_dict()
设置值
sndict.set_value(DIC =データ、キー= 'bankAcc'、値= '32001881700052502564')
设置值
sndict.set_value(DIC =データ、キー= 'isOnline'、値= '1')
设置明细类型
sndict.set_value(DIC =データ、キー= 'balanceType'、値= 0)
设置公司代码
sndict.set_value(DIC =データ、キー= 'corpCode'、=値「G002」)
#は、開始日を設定します
sndict.set_value(DIC =データ、キー= 'DateStart'、値= '2019年5月1日')
セット締切
sndict.set_value(DIC =データ、キー= 'dateEnd'、値=「2019年5月31日')
ソート設定
orderByField '値=' B.CORP_CODE、A.ROWID「)sndict.set_value(DIC =データ、キー='
//funddc.cnsuning.com/:テキスト= session.post(=「HTTP URLをsnweb_datacenter / queryAccountDetails.do」、のparams =なし、データ=データ、JSON =なし、ファイル=なし、ヘッダ=なし、タイムアウト=なし、ストリーム=なし、allow_redirects = Trueの場合、確認してください= TRUE)

取得要求は、テキスト本文を返します。
= sncrawler.get_req_textテキスト(R =テキスト)
#正規表現検索全て
TOTALPAGE = sn_win.findallstr(STEXT =テキスト、パターン= R " 合計(\ D +)、P")
正規表現検索全て
TOTALNUMBER = sn_win.findallstr( STEXT =テキスト、パターン= R 'の合計(\ D +)レコード')
#設定する値
sndict.set_value(DIC =データ、キー= 'pageControlData.changePageNumber'、値= TOTALPAGE)
设置值
sndict.set_value(DIC =データ、キー= 'pageControlData.pageSize'、値= '50' )
#设置值
sndict。 SET_VALUE(DIC =データ、キー= 'formAction'、値= 'リスト')
设置值
sndict.set_value(DIC =データ、キー= 'pageControlData.currentPage'、値= ' - 1')
设置值
sndict.set_value (DIC =データ、キー= 'pageControlData.resultCount'、値= TOTALNUMBER)
ヘッダー
headDict = sndict.create_dict()
设置值
sndict.set_value(DIC = headDict、キー= 'リファラー'、値= 'のhttp:// funddc.cnsuning.com/snweb_datacenter/queryAccountDetails.do ')
设置值
sndict。SET_VALUE(DIC = headDict、キー= 'ホスト'、値= 'funddc.cnsuning.com')
#设置值
sndict.set_value(DIC = headDict、キー= 'Content-Typeの'、値= 'アプリケーション/ x-www-form-urlencodedで')
BS4輸入BeautifulSoupのから
テキスト= session.post(URL = '***' 、のparams =なし、データ=データ、JSON =なし、ファイル=なし、ヘッダ= headDict、タイムアウト=なし、ストリーム=なし、allow_redirects = Trueの場合、検証=真)
テキスト= sncrawler.get_req_text(R =テキスト)
スープ= BeautifulSoup (テキスト、 'html.parser')
お金= soup.find( 'テーブル'、ATTRS = { 'クラス': 'リスト'、 'ALIGN': '中央'})。find_all( 'TR')[ - 3] .find_all( 'TD')[24] .text.strip()
プリント(お金)



場合__name__ == '__main__':
メイン()

おすすめ

転載: www.cnblogs.com/jessitommy/p/11075974.html
おすすめ