从锁定页面解码响应内容

问题描述

我被困在一个非常小的问题上,想知道是否有人可以帮助我。

我正在尝试抓取网页https://www.gearhungry.com/best-monitor-arm/

由于该网页被锁定,我在chrome中使用了view-source:https://www.gearhungry.com/best-monitor-arm/并手动删除了将其锁定的代码

现在,我想使用请求来获取BS4的html内容,但是我得到的是下面的编码数据,但现在3个小时我都无法破解此字节代码

b'\xa3b\xf3\x10E9\xed\xed!\xaaHNj=\x00\x1a)\x0b\xe7\xef\xaf\x02cwC\xac\xe3z\xbe\xa7\xe5\xab\xdf\xbd\x97\x13\xa6\xad\x916\xa0\x9f\xbf\x91\x83\xf3\xdc\xdfg\x9a\xad\xfb]\xd7\xa3A\x80d\x12\x19\x14@v\x1cW3{\xb8\xef\xe1p\xdb\xffs\xad\xff\xff\xfc$\xd1\xbe\xde\xd5wXWl\nD\xe5\xf5?\xbe\xaf3\x1e\xa5\x1dam\\\x05UBiQES\x85\x88\x7fN\xc2a\x8a\xe2\x17d?H\xaf\xff\xbdoY\xb9\x8ad\x0bE\xa9\x0co\\\xaeM1\xaa\xc9\xa0\'\xa4\xa5}\xa1\x1b\xe7\xdc\xfb^\xf7\xff?\xb3\x96)\xaa\xb8\x99UhFU\xa1;\xa2\n\xe8\xdeH\x88\x9e\xd1\xf7\xbd/\xf2WV\x01](\x00=\xd5\xc0\x084Fau\xabQ\nX\xa1\x85\xe3jmQ\x86O\x8f\x0c\xffg%&\xa2\xbb\xa8W(\x8bJ\x18\x8e2<\xba\xaev\xcc\xe5c\xa8v\xf7\'\n\n\x88\x80\x8d.\xfe\x18\xcb\xbf\x8f\x1c\x1a\n\x12\xe9\xa3m\xdf\x97\xa1\xfb~=\xcf\xb1n\x80\x950RfxQ\xfd1\xdc\xff\xdf\xfd\xcc\x85\x89\n\xc7\x80\xed\xa9\x88j%\xed\xe5~\xf7W\x86\x87\xaca\x11$H)5\x19\xd3\xea\xcf\x89\x10\xb6\x84\xa8\xd8\xe6\x14*\x81(\'P(5\\\xae\x02\x97^\x1d\xb2\xd1\x02\x8a\xbcG!#u\x8fP\xd6\x89D\r"\x95\xc5&6P\x04-\xbc\xcc\x8d{\x94-)>\xe2A\xd6u@i\x0f\xd1\x04\x83\xba\xf3\xe6\x04I\xd3(\xc1\xc2\x10\xdcG\xb2\xcekS\xa6o\xd6\x9d\xf7-\x91\xf7\x9d:PXQ)\xe0@I*-g\x03\x97\x84\x08\xce\xc4\x9e4\x9e\x87@\xf0\xd9\x86t\x03\x8fxI\x17\x1b%\xfd3 \xd64h\x01)\xfc\xe1\xc4LaZ\xaf\xf6\xeaQ\x8a\xa2\xae\x8c\xf6n\x9c\x05:\x87;\xb2\xa8}\xac\xb0V9\xa9\x81\x8c\t\xc3\x9e\x97~i\xa5\xbeX3}\x83f\xd6\x9au\x13\xca\xc4\xfb\xa8;\xb2v\xee|\xd6@\x0b|^\xd64\x98\xd0\x88\xa0\x95\x8e\xdau\xba\xb6\xa7\xc7\xa5cK(\x91\xc6B\x9c\xc6\x07\xbe\xe8\x1d\n\x11l\xfb\xa2\x17I\xc9\x05\x97\xe9D\\\n6\x9e\x8c\xca$I\xc7\xf3\xb4\xe4"\xa9\x92dV\x95\xfak\x13H\xc1~\xbc\x94\xabw\x97\xa6\xe0\x85t\x1e|6\xfa\xe6J\xc6\x82\x95\xdd;\xf0^\x03]\xfc\x96\xc0\xe6EwR\xba\x06\xe7\xc5p\xd5-\xf8\xff\x7f\xff\x07\xdeJf\xc1\xbb\x02\x9b\x05\xe9\x02I+ \xa2\x0e\xc1\rl7\xb3\xf2L-\xaf\xdaJ[I\xeeA\xa7\x95W\xa0h%\xc0\xa8\x8a\xa6\xeet\x80R\xf6.p{\x94\x94\xdaE@S\xb4\xc0\xc9\xce\xed\xdc\xd9Zd\xa0a\t\x14(/"\x1d\x1a-q\xb1i\xdb\xf3\xb9\xac\r\xb8D*Q\x9d\xbc\xc2\x8a3N\xa1\xe9\xb7Hq\xd7\t\xb3\xfb\x18\x1e\xc9\x11j\t6\xee@\xb8\xa93\x8bd\x98\xe0\x95\xa3\xea\x81\xdf*p\xc0\xbe\x8d\x8b\x9dE\xb0\xec\xb9_95\xd9\xdd\xd9\xa6\x06\xe3fk\xae*.CP\xe5f-\xef3\n\x94\xca\xd93|4E,T\x9a"\x06PI\xcd"\xbdR\xc7\xc5\xe6\xd6\xf9\xe3d\\\xf79\xb7\xbe\xa6\xd8\x0b\x05\x91gy\x17xj\n"7\xae\x1c\xec\xbb\xc2\x96p\xf6\xe3i&\xe9\xd8\xec\xdb\xaeI\x92\xdc\x8b*S++\xc9m\x04\x9bZ\xfb\xef\xb4\xe8\xb2[\x05\x03\n\xe4\xde\x9b\x9bO\xa4*\xcd\xd33\x114hQ\xf65\xf9\'[\x89\xfb\xa9\x91\xfc\x98L<\xd2J\xe6M\xc0X\x91{\xe0\x8a\xf5\t\xd0\xe6\xa7Qd\xc4\r\x1aq\xe1\x15L@\x0bN\x1d\x8bN\x869Ol\xf86Y\xc6f\x13\xb0\xf9j\x84\xec\x99\xd2hy\x86\xff\xa0\xed?x\xa7\ru\x96\xc4<\xacv\x05b\xf8O\x9e\xa3`\xbe9\xc3\x7f\xba\x92\xd3rh6"\xd5v%\x00\xe4\x11l\x87\xa7&\x13\xd5\xdc\xc6\\\xbdu0l\xf0\xc5!\r'```


解决方法

您从该站点获得的响应似乎只是给您在hex中编码了味精,然后对其进行解码表明它返回了一些hex值。尽管我无法确定它是什么,但可能是一些内存值。

观察到该站点后,似乎已禁用oncontextmenu处理程序单击,这意味着无法进行交互。您已经通过操作站点手动访问了它,但是bs4不能完成同样的操作。为了抓取网站,我建议您使用Selenium之类的网络自动化工具,并覆盖预设的JavaScript值来抓取源代码。

在此处查看示例-Python selenium set javscript handler