用爬虫抓取网页得到的源代码和浏览器中看到的不一样运用了什么技术

用爬虫抓取网页得到的源代码和浏览器中看到的不一样运用了什么技术,第1张

网页源代码和浏览器中看到的不一样是因为网站采用了动态网页技术(如AJAX、JavaScript等)来更新网页内容。这些技术可以在用户与网站进行交互时,通过异步加载数据、动态更新页面内容,实现更加流畅、快速的用户体验。而这些动态内容无法通过简单的网页源代码获取,需要通过浏览器进行渲染后才能看到。

当使用爬虫抓取网页时,一般只能获取到网页源代码,而无法获取到经过浏览器渲染后的页面内容。如果要获取经过浏览器渲染后的内容,需要使用一个浏览器渲染引擎(如Selenium)来模拟浏览器行为,从而获取到完整的页面内容。

另外,网站为了防止爬虫抓取数据,可能会采用一些反爬虫技术,如设置验证码、限制IP访问频率等。这些技术也会导致爬虫获取到的页面内容与浏览器中看到的不一样。

1、用ActionChains定位,按F12进入Source页面。

2、鼠标悬停在seleniumAjax悬浮框上,按F8或Ctrl+\(此 *** 作冻结DOM并暂停脚本执行),直到看到“pauseindebugger”d框出现。

3、按Ctrl+Shift+C,然后就可以去固定收缩seleniumAjax悬浮框粒。

查到Remote_connection 里面的exceute方法中,链接url的response 报错 404。 猜测是在跳转到支付页面时,先断开之前的链接,再去请求支付的链接,而断开时,请求的链接就会返回404  

解决方法:可以先用timesleep 等待几秒钟去链接新的页面,然后再用 driverimplicitly_wait 方法就可以了

将获取元素和动作拆分开来

解决方法如下:

getcode = driverfind_element_by_id("commingyuandwinmall:id/btn_get_code")

timesleep(50)

getcodeclick()

电脑关机,然后在开机时按住  command  +  R 键 ,直到出现苹果 logo 和进度条时松开,进入OS X恢复模式。在终端输入命令csrutil disable,然后关闭终端。进入恢复模式后打开 实用工具 —— 终端

mv: rename chromedriver to /usr/bin/chromedriver: Read-only file system

然后百度的时候我又找到这样的一篇文章,参考类似的问题,我试着直接执行如下命令挂载写入权限

sudo mount -uw /这时候再试一次sudo mv chromedriver /usr/bin

ele = driverfind_element_by_xpath ("//p[@class='comment-form-rating-btn']/button" )# star

webdriverActionChains ( driver )move_to_element ( ele )click ( ele )perform ()

解决方法:切换到最后一个窗口

windows =selfdriverwindow_handles

selfdriverswitch_towindow (-1)

6'list' object has no attribute 'click'

将”driverfind_elements_by_xpath“改为“driverfind_element_by_xpath”即可解决。

我们非常高兴地宣布Selenium 4的发布。这适用于Java、net、Python、Ruby和Javascript。你可以从你最喜欢的包管理器或GitHub下载它!

>

以上就是关于用爬虫抓取网页得到的源代码和浏览器中看到的不一样运用了什么技术全部的内容,包括:用爬虫抓取网页得到的源代码和浏览器中看到的不一样运用了什么技术、selenium Ajax悬浮框怎么固定住、Selenium 报错问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9333679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存