作者toyboy (賣肝工程師)
看板Python
標題[問題] 集保戶股權分散表無法爬取
時間Sun Oct 9 17:25:27 2022
hi, 各位大大
小弟之前有寫爬蟲每周爬取及保護股權分散表,從上周後好像網頁改版後就無法抓取,
試了一周還是搞不定,只能來求助大神幫忙解惑,感謝
錯誤訊息如下
<html><body><h1>SRVE0255E: A WebGroup/Virtual Host to handle
/smWeb/QryStockAjax.do has not been defined.</h1><br/><h3>SRVE0255E: A
WebGroup/Virtual Host to handle www.tdcc.com.tw:443 has not been
defined.</h3><br/></body></html>
資料爬取方式
import requests
from bs4 import BeautifulSoup as BS
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36'}
info = {'SYNCHRONIZER_TOKEN':'c0fa73d9-db72-499f-a10f-d87cb046c047',
'SYNCHRONIZER_URI': '/portal/zh/smWeb/qryStock',
'method': 'submit',
'firDate': '20221007',
'scaDate': '20221007',
'sqlMethod': 'StockNo',
'stockNo': '2330',
'stockName': ''
}
res = requests.post('
https://www.tdcc.com.tw/smWeb/QryStockAjax.do', data =
info, headers = headers)
soup = BS(res.text, "lxml")
print(soup)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.118.71.247 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1665307534.A.BB9.html
→ surimodo: post裡面網址改成qryStock那個原始網址就可以 10/09 22:34
→ surimodo: 或者你給一下當初爬出來資料長怎樣 10/09 22:35
→ surimodo: 我看能不能幫你做到資料格式輸出 10/09 22:35
→ toyboy: 感謝,換網址就有抓到東西了,只是分散表部分查無資料 10/10 07:29
→ toyboy: 看起來是SYNCHRONIZER_TOKEN驗證碼擋下,現在要抓的分散表 10/10 07:32
→ toyboy: 都顯示查無資料 10/10 07:32
→ surimodo: 有資料阿 就算爬蟲出來的看不懂 10/10 10:47
→ surimodo: 你自己用原始網頁點一點的沒跑出資料? 10/10 10:47
→ toyboy: 手動點是有資料,但用爬回來的看起來都顯示查無此資料, 10/10 12:13
→ toyboy: 檢視From Date內的SYNCHRONIZER_TOKEN每次手動查詢都會變 10/10 12:14
→ toyboy: 才想說是不是這個值要先想怎麼抓最新的,不然無法爬 10/10 12:16
→ surimodo: 研究一下 除了token不能重複用 10/10 14:26
→ surimodo: post 還要給 cookies 10/10 14:27
→ lycantrope: 可以用Session 10/10 14:50
→ toyboy: 爬到資料了,感謝S大熱心協助,謝謝 10/10 22:09
→ class99: 我能產生動態token, 但爬下來的html檔案沒有集保資料 12/10 22:11
→ class99: S 大的圖片檔不在了, 可以再傳一次嗎? 謝謝 12/10 22:11