如何抓取外部网络搜索

时间:2014-05-30 15:42:38

标签: c# web web-crawler robots.txt

我有一个网站http://www.op.nysed.gov/opsearches.htm,例如用户选择专业并输入被许可人姓名并点击搜索< / strong>按钮,将它们带到新页面以显示结果。

例如,以下内容:

enter image description here

显示以下结果:

enter image description here

点击每个名称旁边的任意一组数字会显示信息,例如:

enter image description here

为了这个目的,我在网上查看了scrapy,arachnode和其他网络爬虫,但并不太相信它是适合它的技术。

我被告知必须从页面抓取搜索结果。这是可以做到的吗?

用户进行搜索时是否可以抓取抓取工具?

1 个答案:

答案 0 :(得分:1)

网页抓取程序会为您提供目标网络结构的本地副本,但不确定这是否是您想要的。

如果您想要提取数据并以某种方式存储它以后可以查询,那么您必须创建自己的应用程序。

作为一个开始,这个想法是这样的:

通过网络手动导航并分析页面之间完成的POST(例如,当选择“Architect”并按下按钮时发送到服务器的内容,或者在许可证上指向链接的位置)并找到实际查询,发送变量及其格式,然后分析页面的HTML结构,找到可与正则表达式引擎一起使用的模式。

那部分将是一个难点,您必须分析传出和传入的HTTP查询(Firefox中的LiveHTTP标头补充可以帮助您很多)在您的程序中模拟它们,并构建可靠的正则表达式模式(以测试正则表达式{{ 3}}非常方便)。

一旦您知道如何浏览页面结构并具有剥离数据的模式,其余部分相对容易,使用WebClient创建客户端,浏览结构,删除必要的数据并将其存储在数据库中。 / p>

正如您所看到的,这是一个非常广泛的答案,但因为您的问题也很广泛。