久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python如何利用Selenium或者PhantomJS爬取動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容

瀏覽:112日期:2022-06-30 17:58:04

問(wèn)題描述

想用python做股票量化交易,第一步就是獲取股票的歷史數(shù)據(jù)。訪問(wèn)http://data.eastmoney.com/sto...網(wǎng)頁(yè),將網(wǎng)頁(yè)源碼打開(kāi)后看不見(jiàn)表格中的數(shù)據(jù),據(jù)說(shuō)是利用ajax技術(shù)加載的。在網(wǎng)上看見(jiàn)可以利用selenium和phantomJS來(lái)獲取這些動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容,但是不知道如何獲取完整源碼。請(qǐng)高手指點(diǎn)迷津

問(wèn)題解答

回答1:

事實(shí)上,我剛才試了一下,頁(yè)面不是用xhr加載的,在頁(yè)面的源代碼中已經(jīng)有了,然后調(diào)用了一個(gè)類(lèi)把數(shù)據(jù)加載為一個(gè)table。比如,首頁(yè)的數(shù)據(jù):

Python如何利用Selenium或者PhantomJS爬取動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容

然后,提取就直接使用re提取就可以了,得到文本以后json解析就好了。先寫(xiě)到這里。+++++++++++++++++++++++++++++++++++++++++

然后,就是這個(gè)網(wǎng)站不使用xhr加載數(shù)據(jù)而是使用的js來(lái)加載json數(shù)據(jù),動(dòng)態(tài)解析來(lái)顯示。具體分析需要用到j(luò)s的知識(shí),如果你了解也可以自己嘗試解析。

我嘗試了一下。

from urllib.parse import quoteimport timeimport requestsurl = 'http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=FD&sty=TSTC&st={sortType}&sr={sortRule}&p={page}&ps={pageSize}&js=var {jsname}=(x){param}'params = { 'sortType': 1, 'sortRule': 1, 'page': 2, 'pageSize': 50, 'jsname': 'Aafdafgq', # 這里使用的是隨機(jī)字符串,8位 'param': '&mkt=0&rt='}params['param'] += str(int(time.time()/30)) # 當(dāng)前時(shí)間url = url.format(**params)url = quote(url, safe=':=/?&()')req = requests.get(url)req.text

Python如何利用Selenium或者PhantomJS爬取動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容

回答2:

用這個(gè)組合 好處是簡(jiǎn)單暴力,壞處是效率較低。相當(dāng)于打開(kāi)一個(gè)你看不到的瀏覽器加載頁(yè)面,再把運(yùn)算好的結(jié)果讀取。新人學(xué)爬蟲(chóng)的話 推薦 python網(wǎng)絡(luò)數(shù)據(jù)采集 這本動(dòng)物書(shū)。你需要的說(shuō)明在采集動(dòng)態(tài)頁(yè)面那章。這書(shū)很薄 很實(shí)用。

回答3:

我對(duì)js和json都不太了解,剛剛爬蟲(chóng)入門(mén)。經(jīng)過(guò)你的提示,我再查看了一下源碼,發(fā)現(xiàn)在defjson里面有這些數(shù)據(jù),不明白是怎樣把json里的數(shù)據(jù)顯示到tbody里面的。我用pandas的read_html可以抓到這些數(shù)據(jù),但是最后兩列會(huì)丟失。看來(lái)我得先去看看js和json

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 龙胜| 五大连池市| 南昌市| 秦皇岛市| 丹东市| 三穗县| 寻甸| 城口县| 遂宁市| 河池市| 德安县| 丹寨县| 天峻县| 拜泉县| 襄樊市| 玉林市| 策勒县| 景德镇市| 临高县| 枣庄市| 泾阳县| 平利县| 宜良县| 和龙市| 阿瓦提县| 绍兴市| 紫阳县| 瑞安市| 临邑县| 措勤县| 富宁县| 嘉禾县| 黄陵县| 浮梁县| 林周县| 迭部县| 漠河县| 盐亭县| 武邑县| 南靖县| 同德县|