作者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://webptt.com/cn.aspx?n=bbs/Python/M.1665307534.A.BB9.html
1F:→ surimodo: post里面网址改成qryStock那个原始网址就可以 10/09 22:34
2F:→ surimodo: 或者你给一下当初爬出来资料长怎样 10/09 22:35
3F:→ surimodo: 我看能不能帮你做到资料格式输出 10/09 22:35
4F:→ toyboy: 感谢,换网址就有抓到东西了,只是分散表部分查无资料 10/10 07:29
5F:→ toyboy: 看起来是SYNCHRONIZER_TOKEN验证码挡下,现在要抓的分散表 10/10 07:32
6F:→ toyboy: 都显示查无资料 10/10 07:32
7F:→ surimodo: 有资料阿 就算爬虫出来的看不懂 10/10 10:47
8F:→ surimodo: 你自己用原始网页点一点的没跑出资料? 10/10 10:47
9F:→ toyboy: 手动点是有资料,但用爬回来的看起来都显示查无此资料, 10/10 12:13
10F:→ toyboy: 检视From Date内的SYNCHRONIZER_TOKEN每次手动查询都会变 10/10 12:14
11F:→ toyboy: 才想说是不是这个值要先想怎麽抓最新的,不然无法爬 10/10 12:16
13F:→ surimodo: 研究一下 除了token不能重复用 10/10 14:26
14F:→ surimodo: post 还要给 cookies 10/10 14:27
15F:→ lycantrope: 可以用Session 10/10 14:50
16F:→ toyboy: 爬到资料了,感谢S大热心协助,谢谢 10/10 22:09
17F:→ class99: 我能产生动态token, 但爬下来的html档案没有集保资料 12/10 22:11
18F:→ class99: S 大的图片档不在了, 可以再传一次吗? 谢谢 12/10 22:11