有没有什么方法可以在抓取过程中使用锚点来分离内容类型,从而自动对每个内容进行分类?我想检查由bs 4在第一,如果它不成功,尝试与 selenium 分类网站刮刀类型到以下类别:1-美容汤2- selenium
静态呈现的网站示例:
Static rendered example 1
Static rendered example 2的
动态渲染网站示例:Dynamic rendered example 1的
如你所知,beautifulsoup无法抓取一些网站(动态渲染示例1),在这种情况下,我们需要选择selenium作为刮刀,但selenium不够快,我更喜欢在第一次使用bs 4,如果刮取不成功,我会在第二次使用selenium。
静态呈现的网站是好的,但问题是动态呈现的网站,你能建议我一个和平的代码来做吗?
我分别测试了selenium和bs 4,它工作正常,但我不知道如何根据内容类型自动检测刮刀类型。
谢谢你们
1条答案
按热度按时间cpjpxq1n1#
我不认为有一个可靠的方式来做你想要的,我想说有两种类型的动态渲染内容。
你可以检查每个框架的错误消息,比如“这个网站需要JS来工作……”,但这并不可靠。如果你从BS4开始,你应该事先验证内容是如何加载的,用
requests
或urllib
或其他什么来编码请求,在这一点上,你也可以自己将网站分为静态或动态。我认为你应该做的是总是使用
selenium
,如果解决方案A的工作率为60%,而解决方案B的工作率为100%,为什么要麻烦解决方案A呢?