Python爬虫json模块

json.loads(参数为json格式的字符串)

把json格式的字符串转为python数据类型

html = json.loads(res.text)

json.dump(python,file,ensure_ascii=False)

把python数据类型转为json格式的字符串并存入文件

第一个参数:python类型的数据(字典,列表)

第二个参数:文件对象

第三个参数:ensure_ascii=False序列化时编码

 

json.dumps(python数据类型)

把python数据类型转为json格式的字符串 

json.load(json格式的字符串)

将json文件读取,并转为python类型

数据爬取-爬虫最常用

将响应内容由json转为python

json.loads(html)

数据保存-爬虫最常用

将爬取的数据保存到本地json文件

json.dump(item_list,f,ensure_ascii=False)

import json,requests,time,random
from fake_useragent import UserAgent
class doubanspider:
    def __init__(self):
        self.url = 'https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start={}&limit=20'

    def get_agent(self):
        return UserAgent().random

    def get_html(self,url):
        html = requests.get(url=url,headers={'User-Agent':self.get_agent()}).text

        return html

    def parse_html(self,url):
        html = json.loads(self.get_html(url=url))
        item = {}
        for one_file in html:
            item['name'] = one_file['title']
            item['score'] = one_file['score']
            item['rank'] = one_file['rank']
            item['time'] = one_file['release_date']
            print(item)

    def run(self):
        total = self.get_total()
        for start in range(0,total,20):
            url = self.url .format(start)
            self.parse_html(url=url)
            time.sleep(random.randint(1,2))

    def get_total(self):
        page_url = 'https://movie.douban.com/j/chart/top_list_count?type=11&interval_id=100%A90'
        html = json.loads(self.get_html(url=page_url))

        return html['total']


if __name__ == '__main__':
    spider = doubanspider()
    spider.run()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值