最近要从某网站上采集一些双色球的信息,本来是想从中彩网上获取的,但那个服务器的反映速度真的让人无法接受,于是另外找了一个城市的网站。
在进行数据抓取的过程中,发现有几个cookie是浏览器自己产生的,一开始心里没底怎么弄,因为在调试的时候老报错,后来又把它的urchin.js下载下来,放在本机上调试,呵呵,现在才知道js文件也可以调试的,开心!
不过不管怎么弄,都一直报错,非常怀疑那些js代码在本机跑的时候是不是有什么不一样(偶对js代码只是刚刚看懂),但调试了很久,还是不对。
但我想非常没有道理,于是我从头开始找其它cookie的错误,再找postdata的错误,终于在postdata中找到了,原来掉了一个字母,我狂晕。
在这里说一下带有google-analytics 的网站
它post 的cookie数据包含:
__utma Sent 195722668.1791181037.1243267423.1243317013.1243324232.8
__utmb Sent 195722668.2.10.1243324232
__utmc Sent 195722668
__utmz Sent 195722668.1243267423.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)
上面的数据其实我们并不要关心,这是我花最多时间去研究的,其实最后提交的时候加上就可以了。当然,你可以用随机数的方式替换一下。不过第一串数字195722668是不能变的,这是这个网站域名的hash值。
写完了,心里真是开心。在这里公布一个有用的类,主要是来处理postdata的,相当于一个hashtable里,读存 key 和value
调用示例:
RequestData pstData = new RequestData();
pstData.AddField("txtPassword", "");
pstData.AddField("txtUserName", "");
pstData.AddField("txtValidateCode", "");
读取
pstData.GetData()


























































【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2007-05-26 Setup Factory(安装工厂) 打包