ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: mail249120

[求助] VBA抓取网页表格数据

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-28 16:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
mail249120 发表于 2019-1-28 13:27
会不会是因为有多个链接循环的原因?因为我单独调试这个链接貌似没有问题

逐句调试了下,发现一旦出现这种错误的时候,出来的strhtml2内容是有问题的,但是可以确定上面的NewURL是没问题的,怎么破?

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-28 16:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
而且每次出错是对应的URL都是随机的,请大神快帮忙看看,谢谢

TA的精华主题

TA的得分主题

发表于 2019-1-28 20:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
mail249120 发表于 2019-1-28 16:57
而且每次出错是对应的URL都是随机的,请大神快帮忙看看,谢谢
  1. # -*- coding: utf-8 -*-
  2. # version: Python 3.7.0
  3. import requests
  4. from urllib.parse import urljoin
  5. from lxml import etree

  6. baise_url = 'https://www.ccmn.cn/bxg/201/'
  7. headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}

  8. def crawl_url():
  9.     #请求列表页并获取链接!
  10.     r = requests.get(url=baise_url, headers=headers)
  11.     tree = etree.HTML(r.text)
  12.     trs = tree.xpath('//table[@class="purchase"]/tr')
  13.     url_list = [urljoin(baise_url, tr.xpath('./td[2]/a/@href')[0]) for tr in trs if len(tr.xpath('./td[2]/a/@href'))]
  14.     crawl_detail(url_list)

  15. def crawl_detail(url_list):
  16.     #请求详情页!
  17.     for url in url_list:
  18.         r = requests.get(url=url,headers=headers)
  19.         parse_detail(r.text)
  20.         break

  21. def parse_detail(html):
  22.     # 解析详情页,这里不再赘述!
  23.     print(html)

  24. if __name__ == '__main__':
  25.     crawl_url()
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-29 13:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-1-29 17:03 | 显示全部楼层
  1. private static void 论坛简单的登陆采集()
  2.         {
  3.             //http://club.excelhome.net/thread-1458465-1-2.html
  4.             crawler = new SimpleCrawler();
  5.             string url = "https://www.ccmn.cn/a/login";
  6.             string sd = "username=pnrsandy&password=PNR123456";
  7.             //登陆
  8.             crawler.Start(url, HttpMethodModel.POST, sd).Wait();
  9.             url = "https://www.ccmn.cn/historyprice/getCorpQuotationsList";

  10.             //注册事件
  11.             crawler.OnCompleted += (s, e) =>
  12.             {
  13.                 var ms = crawler.GetJsonRoot<PriceRoot>(e.PageSource);
  14.                 foreach (var m in ms.body.marketPriceList)
  15.                 {
  16.                     Console.WriteLine($"{m.cityName } {m.publishDate}{ m.productSortName} {m.price}  ");
  17.                 }
  18.             };

  19.             //采集价格列表,仅一页
  20.             crawler.Start(url, HttpMethodModel.POST, "pageNo=1&pageSize=20&cityCode=119900&productSortName=%E7%82%89%E6%96%99").Wait();
  21.             Console.ReadLine();
  22.         }
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-29 19:42 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
onlycxb 发表于 2019-1-29 17:03

这是VBA代码?

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-30 15:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

大侠,请百忙之中帮忙看看啊,感谢感谢!

TA的精华主题

TA的得分主题

发表于 2019-1-30 15:37 来自手机 | 显示全部楼层
mail249120 发表于 2019-1-30 15:09
大侠,请百忙之中帮忙看看啊,感谢感谢!

Python语言的代码都写给你了,还看什么?

TA的精华主题

TA的得分主题

发表于 2019-1-30 17:28 | 显示全部楼层
mail249120 发表于 2019-1-28 12:31
有个错误麻烦帮忙看看,
我查看了下,对应链接https://www.ccmn.cn/bxg/feibxg/2019-01-28/79523cd764ce ...

备注说明你没看懂吗? 不要从i=1开始遍历
for i = 0 to ...

TA的精华主题

TA的得分主题

发表于 2019-1-30 19:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
mail249120 发表于 2019-1-30 15:09
大侠,请百忙之中帮忙看看啊,感谢感谢!

kaohsing.zip (43.73 KB, 下载次数: 79)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-29 20:34 , Processed in 0.040772 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表