补充:
web请求过程的剖析(重要★★★):
1.服务器渲染
第一次请求拿到数据,这个数据是服务器把一些数据和html骨架整合好发送给浏览器,这个时候再页面源码就可以看到数据
2.客户端渲染
第一次请求只是请求了一个html骨架,客户端渲染的时候是客户端第二次拿到数据,进行数据展示,在页面源代码中是看不到数据的(这个时候拿到的数据一般都是在network的xhr里)
打开百度翻译,打开开发者工具(F12)
在找哪个包是自己想要找的包的时候,可以点开preview去预览一下看看
network查找的时候可以去筛选
代码:
import requests
def gethtml(url,data,headers):
try:
response = requests.post(url,data=data,headers=headers)
print(response.json())
str = response.json()
response.close()
return str
except:
return "产生异常"
def savefile(str):
with open("百度翻译结果.txt","w",encoding="utf-8") as f:
f.write(str)
return "OK"
if __name__ == "__main__" :
s = input("请输入想要查找翻译的英文单词:")
url = "https://fanyi.baidu.com/sug"
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',
}
data = {
'kw':s
}
res = gethtml(url,headers=headers,data=data)
code = savefile(str(res))
print(code)
结果如下: