從EXCEL VBA到Python金融數據之網路爬蟲實作第7次(大樂透下載&排名取前七名與按順序輸出&安裝Python384懶人包設定&VBA用POST下載外幣匯率歷史&用VBA繪製折線圖)
01_重點回顧與大樂透下載
02_排名取前七名與按順序輸出
03_安裝Python384懶人包設定說明
04_VBA用POST下載外幣匯率歷史
05_用VBA繪製折線圖預告
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/labor_python_2020
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
VBA重要函數到Python
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
檔案與資料庫處理
課程簡介:進階
處理 CSV 檔和 JSON 資料
PM2.5即時監測顯示器轉存到SQLITE資料庫
網頁資料擷取與分析、
Python網頁測試自動化、
下載外匯資料、下載YAHOO股市類股、下載威力彩
EXCEL VBA與Phython協同運作
資產負債表與券商分點買賣超
群益八大公股銀行買賣超
鉅亨網新聞與MoneyDJ新聞
7-11門市與PChome
參考書目
Excel VBA實戰技巧金融數據x網路爬蟲
作者:廖敏宏(廖志煌)
出版社:碁峰 出版日期:2019/06/30
Python大數據特訓班(第二版)
作者:鄧文淵,文淵閣工作室
出版社:碁峰?出版日期:2020/06/01
吳老師 109/11/21
EXCEL,VBA,Python,東吳推廣部,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,金融數據,網路爬蟲實作
「python post爬蟲」的推薦目錄:
- 關於python post爬蟲 在 吳老師EXCEL VBA設計(大數據自動化)教學 Youtube 的最讚貼文
- 關於python post爬蟲 在 吳老師EXCEL VBA設計(大數據自動化)教學 Youtube 的最讚貼文
- 關於python post爬蟲 在 吳老師EXCEL VBA設計(大數據自動化)教學 Youtube 的精選貼文
- 關於python post爬蟲 在 [問題] 爬蟲- requests後的資料查詢(新手) - 看板Python 的評價
- 關於python post爬蟲 在 Python 爬蟲常用技巧(持續更新) 的評價
- 關於python post爬蟲 在 【Python 實作】PTT八卦版爬蟲 - Steven的行銷觀察 的評價
- 關於python post爬蟲 在 Re: [問題] 使用requests post爬蟲問題- 看板Python - PTT數位 ... 的評價
- 關於python post爬蟲 在 Dcard 查詢被刪掉的文章和照片,用深卡和PTT Brain 搜尋原文 ... 的評價
- 關於python post爬蟲 在 Dcard 查詢被刪掉的文章和照片,用深卡和PTT Brain 搜尋原文 ... 的評價
python post爬蟲 在 吳老師EXCEL VBA設計(大數據自動化)教學 Youtube 的最讚貼文
從EXCEL VBA到Python金融數據之網路爬蟲實作第7次(大樂透下載&排名取前七名與按順序輸出&安裝Python384懶人包設定&VBA用POST下載外幣匯率歷史&用VBA繪製折線圖)
01_重點回顧與大樂透下載
02_排名取前七名與按順序輸出
03_安裝Python384懶人包設定說明
04_VBA用POST下載外幣匯率歷史
05_用VBA繪製折線圖預告
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/labor_python_2020
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
VBA重要函數到Python
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
檔案與資料庫處理
課程簡介:進階
處理 CSV 檔和 JSON 資料
PM2.5即時監測顯示器轉存到SQLITE資料庫
網頁資料擷取與分析、
Python網頁測試自動化、
下載外匯資料、下載YAHOO股市類股、下載威力彩
EXCEL VBA與Phython協同運作
資產負債表與券商分點買賣超
群益八大公股銀行買賣超
鉅亨網新聞與MoneyDJ新聞
7-11門市與PChome
參考書目
Excel VBA實戰技巧金融數據x網路爬蟲
作者:廖敏宏(廖志煌)
出版社:碁峰 出版日期:2019/06/30
Python大數據特訓班(第二版)
作者:鄧文淵,文淵閣工作室
出版社:碁峰?出版日期:2020/06/01
吳老師 109/11/21
EXCEL,VBA,Python,東吳推廣部,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,金融數據,網路爬蟲實作
python post爬蟲 在 吳老師EXCEL VBA設計(大數據自動化)教學 Youtube 的精選貼文
從EXCEL VBA到Python金融數據之網路爬蟲實作第7次(大樂透下載&排名取前七名與按順序輸出&安裝Python384懶人包設定&VBA用POST下載外幣匯率歷史&用VBA繪製折線圖)
01_重點回顧與大樂透下載
02_排名取前七名與按順序輸出
03_安裝Python384懶人包設定說明
04_VBA用POST下載外幣匯率歷史
05_用VBA繪製折線圖預告
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/labor_python_2020
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
VBA重要函數到Python
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
檔案與資料庫處理
課程簡介:進階
處理 CSV 檔和 JSON 資料
PM2.5即時監測顯示器轉存到SQLITE資料庫
網頁資料擷取與分析、
Python網頁測試自動化、
下載外匯資料、下載YAHOO股市類股、下載威力彩
EXCEL VBA與Phython協同運作
資產負債表與券商分點買賣超
群益八大公股銀行買賣超
鉅亨網新聞與MoneyDJ新聞
7-11門市與PChome
參考書目
Excel VBA實戰技巧金融數據x網路爬蟲
作者:廖敏宏(廖志煌)
出版社:碁峰 出版日期:2019/06/30
Python大數據特訓班(第二版)
作者:鄧文淵,文淵閣工作室
出版社:碁峰?出版日期:2020/06/01
吳老師 109/11/21
EXCEL,VBA,Python,東吳推廣部,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,金融數據,網路爬蟲實作
python post爬蟲 在 Python 爬蟲常用技巧(持續更新) 的推薦與評價
import json import shutil import xml.etree.ElementTree as ET from urllib.parse import urlparse, parse_qs, urlunparse import requests ... <看更多>
python post爬蟲 在 【Python 實作】PTT八卦版爬蟲 - Steven的行銷觀察 的推薦與評價
引入url 擷取套件requests 後,透過PTT 頁面上觀察可藉由get 的方式來抓取內容,先把變數藉由文檔print 出來會發現跑出來的內容非 ... ... <看更多>
python post爬蟲 在 [問題] 爬蟲- requests後的資料查詢(新手) - 看板Python 的推薦與評價
大家好,小弟剛接觸python幾天...
有個資料查詢的問題一直無法解決
(https://amis.afa.gov.tw/m_coop/CoopVegFullMarketMainProd.aspx )
該網站查詢的資料結果是url不變並以js呈現(請見諒非本科系的形容@@")
且結果若超過60筆,才會出現下一頁的按鈕可以點選
所以碰到的問題是在顯示資料之前
第2、3頁...下一頁的按鈕不會出現
而按鈕的方式是以javascripl:__doPostBack的方式寫入
因此問題有兩個:
1.我該如何才能獲得第1頁之後的資料
目前查到的方法好像要利用requests.session方法
但是怎麼寫都跑不出來
2.有辦法可以在查詢後,直接利用"下載"這個按鈕下載資料嗎
爬文後不知道能否利用request後,再配合selenium
只是找到的文章大多是利用cookie帶入,好像不適合這個網頁
不知道是否有善心版友可以協助指導新手...
以下附上查詢的code跟試著加入session的code
單純查詢一次性資料:
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import pandas as pd
resp =
requests.get('https://amis.afa.gov.tw/m_coop/CoopVegFullMarketMainProd.aspx')
soup = BeautifulSoup(resp.text, 'html5lib')
view_state = soup.find(id='__VIEWSTATE')['value']
event_validation = soup.find(id='__EVENTVALIDATION')['value']
viewstate_generator = soup.find(id='__VIEWSTATEGENERATOR')['value']
form_data = {
'__VIEWSTATE': view_state,
'__VIEWSTATEGENERATOR': viewstate_generator,
'__EVENTVALIDATION': event_validation,
'ctl00$contentPlaceHolder$txtStartDate':'106/12/01',
'ctl00$contentPlaceHolder$txtEndDate':'107/03/15',
'ctl00$contentPlaceHolder$ucCoopVegFruitMarket$radlMarketRange':'P',
'ctl00$contentPlaceHolder$ucCoopVegFruitMarket$lstMarket':'109',
'ctl00$contentPlaceHolder$ucCoopVegFruitMainProduct$radlProductType':'V',
'ctl00$contentPlaceHolder$ucCoopVegFruitMainProduct$lstProduct':'FA0',
'ctl00$contentPlaceHolder$dropProductClass':'1',
'ctl00$contentPlaceHolder$btnQuery':'查詢'
}
resp =
requests.post('https://amis.afa.gov.tw/m_coop/CoopVegFullMarketMainProd.aspx',
data=form_data)
df = pd.read_html(resp.text)[6].dropna(axis=0, how='any')
print(df)
---------------------------------------------------------------------------
加上session,但是資料一直無法跳到第2頁> < :
import requests
from bs4 import BeautifulSoup
import pandas as pd
resp =
requests.get('https://amis.afa.gov.tw/m_coop/CoopVegFullMarketMainProd.aspx')
soup = BeautifulSoup(resp.text, 'html5lib')
with requests.session() as s:
s.headers['user-agent'] = 'Mozilla/5.0'
soup = BeautifulSoup(resp.content, 'html5lib')
target = (
'ctl00$contentPlaceHolder$dataPager$ctl02$ctl{:02d}'
)
# unsupported CSS Selector 'input[name^=ctl00][value]'
data = { tag['name']: tag['value']
for tag in soup.select('input[name^=ctl00]') if tag.get('value')
}
state = { tag['name']: tag['value']
for tag in soup.select('input[name^=__]')
}
data.update(state)
view_state = soup.find(id='__VIEWSTATE')['value']
event_validation = soup.find(id='__EVENTVALIDATION')['value']
viewstate_generator = soup.find(id='__VIEWSTATEGENERATOR')['value']
form_data = {
'__VIEWSTATE': view_state,
'__VIEWSTATEGENERATOR': viewstate_generator,
'__EVENTVALIDATION': event_validation,
'ctl00$contentPlaceHolder$txtStartDate':'106/12/01',
'ctl00$contentPlaceHolder$txtEndDate':'107/03/15',
'ctl00$contentPlaceHolder$ucCoopVegFruitMarket$radlMarketRange':'P',
'ctl00$contentPlaceHolder$ucCoopVegFruitMarket$lstMarket':'109',
'ctl00$contentPlaceHolder$ucCoopVegFruitMainProduct$radlProductType':'V',
'ctl00$contentPlaceHolder$ucCoopVegFruitMainProduct$lstProduct':'FA0',
'ctl00$contentPlaceHolder$dropProductClass':'1',
'ctl00$contentPlaceHolder$btnQuery':'查詢'
}
#
data['ctl00$FhMainContent$FhContent$ctl00$AnalysesCourse$CustomPager$total']
resp =
requests.post('https://amis.afa.gov.tw/m_coop/CoopVegFullMarketMainProd.aspx',
data=form_data)
soup = BeautifulSoup(resp.text, 'html5lib')
sl = soup.find_all("span")
last_page = '+'.join([span.get_text() for span in sl][-2])
# for page in range(last_page + 1):
for page in range(int(last_page)):
data['__EVENTTARGET'] = target.format(page)
df = pd.read_html(resp.text)[7].dropna(axis=0, how='any')
print(df)
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.170.50
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1521254934.A.7ED.html
※ 編輯: truth1999 (180.217.170.50), 03/17/2018 10:51:12
ctl00$contentPlaceHolder$dataPager$ctl02$ctl00,並且不會變動
所以我原本想簡單一點,直接由結果抓到共x頁,然後執行x-1次換頁即可
謝謝f大、v大跟a大的回覆與建議,v大提到的部份我有注意到
承上回覆,所以我有嘗試將換頁按鈕js的dopostback參數寫入。
不管是頁碼按鈕(值為頁數-1)、或者是下一頁按鈕(值不變),
還是寫不出如何在第一次取得requests後,再送出eventTarget
來拿到下一頁的查詢結果...
可能是因為此網站的設定是,要取到第一次的查詢後,
才會觀察(搜尋?)到eventTarget,所以這是我困擾的點><
※ 編輯: truth1999 (180.217.170.50), 03/17/2018 18:02:07
謝謝C大的資訊,真的在第二頁開始加上參數就可以了
超級感謝您
※ 編輯: truth1999 (180.217.170.50), 03/18/2018 14:07:34
... <看更多>