首页新闻找找看学习计划

Python requests 返回的源码和浏览器看到的不一样,headers都带了

0
[待解决问题]

import requests

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36', 'Upgrade-Insecure-Requests':'1', 'Referer':'http://www.scxxb.com.cn/html/2019/gnxw_0716/705043.html', 'Content-Type':'text/html'}

req = requests.get('http://www.scxxb.com.cn/html/2019/gnxw_0716/705043.html',headers=headers)

print(req.text)

 

打印的就是一串JS..

会发光的主页 会发光 | 菜鸟二级 | 园豆:266
提问于:2019-07-16 15:35
< >
分享
所有回答(3)
0

试一下用chardet
import chardet
html = req.read()
decode_type= chardet.detect(html)
html = html.decode(decode_type['encoding'])
print(html)
看看是不是正常的html格式了

云双流 | 园豆:255 (菜鸟二级) | 2019-07-16 17:46
0

浏览器看到的是JS加载执行后的结果. 你用requests请求时js未执行, 所以看到的不一样.

可以用WebDriver+浏览器驱动去获取.
比如 selenium chromedriver Chrome

ABeen | 园豆:221 (菜鸟二级) | 2019-07-17 22:31
0

人家反爬了,需要先执行这一段js。

Masako | 园豆:1637 (小虾三级) | 2019-07-18 11:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册