谁会C#爬虫啊,简单的就可以,我已经获取了页面的HTML,怎么查询指定的元素内容
静态的HTML我知道怎么获取了,但是动态的还是获取不了
正则表达式
RegexTester.exe这个工具跟C#很配
同上 用正则表达式 具体可参考http://www.cnblogs.com/Jiajun/archive/2012/06/17/2552458.html
还可以用类似jsoup的工具,可以试试NSoup
我需要获取动态生成的数据,比如JS生成的,AJAX生成的,后台绑定的
用正则表达式啊,用正则匹配任何你想要的,正则表达式很强大的
我需要获取动态生成的数据,比如JS生成的,AJAX生成的,后台绑定的
通过 request response 获取所有网页内容 然后用正则表达式
我需要获取动态生成的数据,比如JS生成的,AJAX生成的,后台绑定的
@C#程序员1: 动态页面需要模拟浏览器,提供渲染以后才行。
1、用浏览器渲染(前端会有一个浏览器显示,然后控制这个浏览器)
2、用Selenium框架(这玩意是自动化测试的东西)配合 PhantomJS 内核 可以实现后台多线程,无前端渲染 动态页面
CsQuery
Nuget 直接下载就行
跟jQuery操作Dom元素一样
拿到的文档是json还是html;
前者可以翻译成对象或者kv;
后者我更多使用HtmlAgilityPack 配合linq,string等,这种开发和运行效率都还不错。
1:找到js或ajax请求的路径
2:使用request请求、如果别人后端没做什么请求限制、这时候一般数据就以json格式返回了。
3:如果请求返回的是一些从定向或者错误的状态码、你就要一步步去试比如Referer是否有设置、登录过后的Cookie是否必须重新带回服务端、还有报文头里面别人是否做了防爬处理、别人是怎样处理的、、、、等等、根据你爬的网站,很多东西都要慢慢研究。
动态的当然获取不了,有两个组件可以