问题起因
群里有个朋友问怎么爬某个租房网站,以为出现了什么新的反爬技术,遂打开网站发现并没有什么反爬,数据都在源代码中,以为是cookie加密了,发现不带cookie,甚至不带headers都可以获取到网站源代码,但是会缺少一些数据,比如手机号码,因此下意识以为对方有反爬
解决经过
先用postman不带任何headers访问,发现可以获取到完整的源数据,使用python的requests库获取网站源代码
html = requests.get(url).text
print(html)
打印发现关键信息并不在控制台中,因此很疑惑,因为理论上通过requests获取的数据和postman获取的数据在参数一样的情况下应该是一致的,因此联想到可能是什么地方出了问题
最终选择打断点,然后发现了让我觉得很不可思议的一件事
res = requests.get(url)
print(res) # 断点位置
直接在print这行打断点,进入res的断点发现断点里面的res.text数据是完整的,但是一旦print出来就不完整了,所以联想到可能是pycharm的控制台打印数据存在丢失的问题,为了验证想法使用ipython进行了上面的操作,发现数据是完整返回的
由此可以推断出来是pycharm编码或者其他一些未知原因造成的