您当前的位置: 首页 >  json

默默爬行的虫虫

暂无认证

  • 0浏览

    0关注

    84博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

爬虫响应json总结笔记

默默爬行的虫虫 发布时间:2022-07-05 22:19:00 ,浏览量:0

特点:易于阅读、易于机器生成、有效提升网络速度。 JSON语法规则:在JS语言中,一切都是对象。因此,任何支持的类型都可以通过json来表示。例如字符串、数字,对象,数组。 Js中对象和数组是比较特殊并且常用的两种类型:

   1.对象表示为键值对{name:’zhangsan’,age:’7’}
   2、数据有逗号分隔[1,2,3,4,5]
   3.花括号保存对象
   4.方括号保存数组。

js的对象就相当于python中的字典 js的数组就相当于Python中的列表 因为json用来存储js的对象或者数组,所以在Python中我们可以将json转化为list或者dict。

解析json的包json: json.dumps(python的list或者dict)---->(返回值)---->json字符串。 json.loads(json字符串)------>(返回值)----->python的list或者dict.

   json.dump(list/dict,fp)—>list,或者字典保存到json文件中。
   json.load(fp)—>list/dict:从json文件中读出json数据。
②将列表/字典转换成json格式
import requests

a = {
   '姓名': '张三', '性别': '男'}
print(json.dumps(a))
print(type(a))
   json键值对是用来保存js对象的一种方式,和js对象的写法页大同小异,比如:

{“firstName”:“Json”,“Class”:“aid1111”}等价于下面这条js语句:{firstName:“Json”,Class:“aid1111”}。 很多人搞不清楚json和js对象的关系,甚至谁是谁都不清楚。其实可以这么理解: 【JSON是JS对象的字符串表达式,他使用文本形式表示一个JS对象的信息,本质是一个字符串。】 如var obj = {a:“hello”,b:“World”}这是一个js对象。注意,键名也是可以用引号包裹的var json = ’ {“a”:“hello”,“b”:“World”}'这是一个json字符串,本质上是一个字符串。 JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不想xml那样具有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输的压力大大减低。

import json
 
import requests
 
url= 'https://这里是获取json的网页链接,通过网络连接分析获得'
 
# 设置请求网络连接时的User-Agent,不设置容易被网站拦截
headers={
   'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E)'}
 
# 发起网页连接请求
response=requests.get(url,headers=headers)
 
# 获取响应内容(json的文本形式)
jsonText = response.text
 
# 通过loads函数解析获取得到的json文本
jsonData = json.loads(jsonText)
 
# 解析后的数据会变为python中的字典类型的数据,因此可以像字典一样对json中的内容进行读取
dataList =jsonData['data']['searchResult']['dataResults']
 
# 同样的,如果原始json中包含了list,解析后字典里相应内容也是以list的形式出现,因此可以通过list元素的序号访问其中的元素
zcTitle=jsonData[0]
 

在这里插入图片描述

在这里插入图片描述

import json
import requests
import random
import time
 
# 创建一个对象
class Get_url(object):
    # 定义初始化属性
    def __init__(self, num):
        # 这条是需要我们访问的 url ,实现翻页功能在主程序入口, 到时候传参给num就能实现翻页功能
        self.url = f'https://yoopu.me/api/posts/new?page={
     num}'
        # 这是伪造头,待会会随机选取其中之一
        self.USER_AGENTS = [
            "Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1"
            "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10
关注
打赏
1658895887
查看更多评论
立即登录/注册

微信扫码登录

0.0482s