我正在尝试创建一个爬虫,我需要能够执行不同的查询以从爬取的页面中提取不同类型的数据。我一直在研究 CsQuery 以提取数据,当我有一个简单的 CSS 选择器时,它似乎工作得很好
h4:包含('文本字符串')
我的问题是我需要能够评估如下复杂查询:
["h4:contains('textstring')"].Parent().Parent().Find("div").Find("span").Text();
我还没有找到任何好的解决方案。CsQuery 可以轻松完成上述操作,但前提是我将其编写在代码中,并且由于我希望能够执行保存在数据库中的查询,因此我需要能够动态加载和执行查询。我目前最好的想法是让递归函数一次通过一个点的语句,但这将导致对该函数的 6 次调用才能执行上述查询。似乎我最终会创建 CsQuery 中已经存在的功能,但我想不出一种更优雅的方式来解决这些问题。
任何想法将不胜感激。