json是轻量化数据交换格式,用于前后端分离的情景
以火狐浏览器来操作,在网络-XHR-响应里面可以看到类型
腾讯新闻是json格式,知乎热榜是html格式
import requests
url='https://i.news.qq.com/trpc.qqnews_web.pc_base_srv.base_http_proxy/NinjaPageContentSync?pull_urls=news_top_2018'
html=requests.get(url)
print(html.json())
![](http://www.jianfeizao.com/wp-content/uploads/2022/05/图片-1024x173.png)
因为需要爬取的数据都是在data里面,只要print(html.json()['data'])
url='https://i.news.qq.com/trpc.qqnews_web.pc_base_srv.base_http_proxy/NinjaPageContentSync?pull_urls=news_top_2018'
html=requests.get(url)
# print(html.json()['data'])
for d in html.json()['data']:
print(d)
![](http://www.jianfeizao.com/wp-content/uploads/2022/05/图片-1-1024x144.png)
import requests
url='https://i.news.qq.com/trpc.qqnews_web.pc_base_srv.base_http_proxy/NinjaPageContentSync?pull_urls=news_top_2018'
html=requests.get(url)
# print(html.json()['data'])
for d in html.json()['data']:
print(d['title'])
当只要爬取title的列表的时候,只要d['title']即可
![](http://www.jianfeizao.com/wp-content/uploads/2022/05/图片-2.png)
json.dumps()
将字典转化为字符串,也就是从python的结构转化为json结构
json.loads()
将字符串转化为字典
json的字符串一定是双引号,python的字符串可以是单引号也可以是双引号
import json
text = {'key': 'value'}
python_to_json = json.dumps(text)
print(python_to_json)