f12里的fetch/xhr是什么
时间: 2023-12-24 08:05:31 浏览: 413
fetch 和 XHR 都是 JavaScript 中用于发送 HTTP 请求的 API。
XHR(XMLHttpRequest)是早期的 API,用于在不刷新页面的情况下,向服务器发送异步请求并接收响应数据。它具有广泛的浏览器支持,但使用起来较为繁琐,需要手动设置请求头、处理状态码等等。
fetch 是 ES6 中新增的 API,它也可以发送异步请求并接收响应数据,但使用起来更加简单和灵活。它的返回值是一个 Promise 对象,可以轻松地进行链式调用,并且可以自动解析 JSON 数据。同时,fetch 也支持跨域和设置请求头等功能。
总的来说,fetch 更加简单方便,但需要注意的是它不支持低版本浏览器。如果要兼容低版本浏览器,可以使用 polyfill 或者使用 XHR。
相关问题
为什么谷歌f12里面的fetch/xhr不显示信息
谷歌F12中的Fetch/XHR选项卡用于显示通过JavaScript代码进行的网络请求信息,如果该选项卡中没有显示信息,可能有以下几个原因:
1. 没有进行网络请求:在你的页面上,可能没有通过JavaScript代码进行网络请求,因此Fetch/XHR选项卡中没有任何信息。
2. 请求被阻止:如果你的浏览器或者网络防火墙阻止了请求,那么Fetch/XHR选项卡中也不会显示信息。
3. 请求被缓存:如果请求已经被缓存,那么Fetch/XHR选项卡中也不会显示信息。你可以在Network选项卡中查看缓存信息。
4. 请求失败:如果请求失败,那么Fetch/XHR选项卡中也不会显示信息。你可以在Console选项卡中查看相关错误信息。
希望这些信息可以帮助你找到问题所在。
补全代码import requests import json #设置url为邮电出版社的热销书目的requests url(空) # 查找url方式: # 1、谷歌浏览器打开https://www.ptpress.com.cn,点击上面的“图书”栏目 # 2、F12查看源代码 # 3、依次点击面板Network,Fetch/XHR,getHotBookList?parentTagId,获取Request URL: count=0 return_data = requests.get(url) # 在需要爬取的URL网页发起HTTP请求 #通过json.loads,对response数据JSON化,放入data变量 data = json.loads(return_data.text) #逆向分析网页,获得需要爬取的内容信息,存入news变量(空),在response中查找数据结构 # 对索引出来的news数据进行遍历和提取 for n in news: #提取书名,存入bookName变量(空) #提取书价格,存入price变量 price=n["price"] #计数count值变化 count+=1 print("热销书名:",bookName,'\n',"书价:",price) print("共找到%d本畅销书"%count)
这段代码的问题是在请求 URL 的时候没有设置正确的 URL,导致无法获取到需要爬取的内容。以下是代码的补全版本:
```python
import requests
import json
# 设置 URL 为邮电出版社的热销书目的 URL
url = "https://www.ptpress.com.cn/getHotBookList?parentTagId=1146"
# 发起 HTTP 请求,获取响应内容
return_data = requests.get(url)
# 将响应内容 JSON 化,放入 data 变量
data = json.loads(return_data.text)
# 从 data 中提取需要爬取的内容信息,存入 news 变量
news = data["data"]["list"]
# 遍历并提取每一本书的信息
count = 0
for n in news:
# 提取书名,存入 bookName 变量
bookName = n["bookName"]
# 提取书价格,存入 price 变量
price = n["price"]
# 计数 count 值变化
count += 1
print("热销书名:", bookName, '\n', "书价:", price)
print("共找到%d本畅销书" % count)
```
希望以上内容能够帮助你解决问题,如有疑问可以继续追问。
阅读全文