首页新闻找找看学习计划

C# 爬虫程序

0
悬赏园豆:5 [已解决问题] 解决于 2018-09-25 22:32

大家好,我这边根据需求需要使用C#做一个爬虫程序,但是,我这边没有一点思路,在网上百度了一下,都是建议使用HtmlAgilityPack对页面进行处理,这个没有问题,测试过了,但是,现在有一个问题是,如果我根据某一个URL获取到这个页面之后,我怎么按照链接一直处理下去,比如,我在百度里面输入一个搜索关键词,下面会出现很多分页,我怎么把这些分页一步一步的爬下去?关于这点一点思路都没有,请各位支支招。

有机物的主页 有机物 | 初学一级 | 园豆:18
提问于:2017-10-29 16:33
< >
分享
最佳答案
0

HtmlAgilityPack只是对页面的数据进行提取。

可以想下百度如何爬到那么网页的??

假设baidu.com这个页面里面有100个连接,爬虫首先会爬这一百个链接,然后在再从这100个链接里面再去爬链接。这样形成一个递归操作。

一楼说的很有道理:说 HtmlAgilityPack 只需要30秒钟,而告诉你如何一步步爬下去,需求3天,这还需要你有基础。

简单的爬虫只需要三步:目标站→获取目标战中符合负责的url→利用HtmlAgilityPack 或者正则提取自己需要的数据

收获园豆:5
大壮他哥 | 初学一级 |园豆:11 | 2017-10-31 11:32
其他回答(5)
0

因为说 HtmlAgilityPack 只需要30秒钟,而告诉你如何一步步爬下去,需求3天,这还需要你有基础。

爱编程的大叔 | 园豆:29788 (高人七级) | 2017-10-29 16:52

现在一头雾水,不知道怎么处理,HtmlAgilityPack这个只知道对请求的页面文件进行处理,提取里面的URL,至于一步一步的爬就完全没有思路了。麻烦大神给点建议。

支持(0) 反对(0) 有机物 | 园豆:18 (初学一级) | 2017-10-29 16:54

@有机物: 循环,递归,错误处理啊,就是这些了,没啥大不了的,但是就是需要很多时间学习、练习。碰到一个问题,解决一个问题,你这样是想有人直接给你个软件吗?

碰到的问题才问,你这没碰到问题呢。比如分页啥问题,你得具体问,不然谁知道你啥问题呢?!

不要想着一天就写出一个世界上最好的软件,能跑起来就不错了。

支持(0) 反对(0) 爱编程的大叔 | 园豆:29788 (高人七级) | 2017-10-30 00:25
0

每当你爬到一个网页,里面不是有一堆的href吗?这就是你接下去要继续搜的对象啊。

深度遍历即可,设一个遍历最高层数。

不过这一种爬虫技术太土,如果是恶意的,很容易直接被人KO。

窗户 | 园豆:442 (菜鸟二级) | 2017-10-29 18:22

那类似分页一类的怎么处理呢?还有,能否有其他的更好的方式呀,因为无法获取到分页的数量,所以,使用多线程处理也有点困难。

支持(0) 反对(0) 有机物 | 园豆:18 (初学一级) | 2017-10-29 19:03
0

分页只是地址里面参数不同而已,抓取不同地址对应的内容即可。

ycyzharry | 园豆:18642 (专家六级) | 2017-10-30 09:40
0

爬虫简单点就是 获取对应请求地址的html数据,解析html,获取你想要的那部分就可以了 爬虫就是抓取html数据而已

ice.ko | 园豆:162 (初学一级) | 2017-10-30 11:37
0

来来来,给你介绍一款 RPA 工具 , UIPath, 针对分页数据,分分钟解决,不写代码,正在使用,怒赞

Lionel Andrés Messi | 园豆:82 (初学一级) | 2017-10-31 13:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册