C#爬虫问题
### 我因工作原因想爬取一个网页上的内容,因为我使用的语言是 C#,**.NET技术**,所以我使用了 HttpClient 和 HttpWebRequest 等方法请求。但是请求出来后都是 *加载中...* 的网页内容。是网站的反爬机制导致,因为正常浏览也是 先 *加载中...* 然后立马再展示内容。### 请问 C# 有没有能让URL执行完后再返回的方法或者相关的 Nuget包 。抑或是有无其他方法能破解反爬机制?
### 希望能予以思路!感激不尽! python专业爬虫。能满足你的需求! 比较笨的一个办法:用winform做客户端来爬取数据,添加webbrowser控件,在控件里把网页加载完后,再读取控件的内容。 为了美观,可以吧控件隐藏。 gana 发表于 2021-5-28 10:11
比较笨的一个办法:用winform做客户端来爬取数据,添加webbrowser控件,在控件里把网页加载完后,再读取控 ...
我也有个问题 要问这样稳定吗要是网页加载不出来 重新开始爬虫 爬出来的数据 怎么验证已经爬过呢? 两个思路。
1.异步加载。以Ajax为例,找到网络的请求即可。
2.同步加载,使用js渲染页面显示效果。这种一般需要找到页面的渲染数据,直接解析即可。
这应该是网页动态生成数据造成的,你分析下请求接口,估计有你想要的直接数据的请求,否则即使你拿到了网页数据,你还是需要分析提取。另一个使用webdriver,操作浏览器获取网页源码也可以。 js动态加载的数据,对于我这种不懂js的人,感觉好难! 写个求助帖都运用了Markdown,膜拜大佬。 对于这种需要网站加载后再出来数据的,一般建议直接上Selenium或者CefSharp 如果能把url和参数贴出来,可以一起看看
页:
[1]
2