python爬取微信小程序数据,python爬取小程序数据

这篇文章主要介绍了python爬取微信小程序数据,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

一、前言

之前,项目后台基本都是使用 Java 的 SpringBoot 框架完成的, 而 Python 自去年到现在,一直以来,都是玩着学的,没有想过要应用到项目上Deepl降重。 但近来,科技园这边的吴老师,建议项目中使用 Python 的 Django 框架做后台,因其容易拓展、维护等,这是笨重的 Java 难以企及的。

是时候认真对待 Python ,近来其也火得不行了~ 花了一天跳读了一本评价极好的书《Python编程从入门到实战》,以复习一下之前的 Python 基础,同时做了一些小 demo,同时借机对比了 C++、Java、JavaScript 等语言的基础,像读小说般轻松有趣,相当不错的一次体验,分享一下

推荐 Python基础 学习网站:子雨大数据之Spark入门教程(Python版)Python教程 - 廖雪峰的官方网站编程小狗CSDN的第一本 Python 入门书

二、demo

Python解释器有两种,也就是说有两种方式执行Python代码——①交互式编程、②脚本式编程 很多初始教程采用交互式编程 这里笔者借助 pycharm,采用脚本式编程。

1.数据类型
# 1、全体小写
print('Itaem'.lower())

# 2、全体大写
print('Itaem'.upper())

# 3、连接+
print('Itaem'+'团队')

# 4、转义:和当年 C++ 课设常用的‘UI’符号一样作用
print('方向:\n\t大数据\n\t云计算\n\t人工智能')

# 5、去空:lstrip 去左空、rstrip 去右空
print('----'+'  ITAEM  '.strip()+'----')

# 6、乘方:Python 特色
print(2**3)

# 7、浮点:和 C++ 一致
print(2*0.3,3/2,3.0/2)

# 8、字符+ 数字:和 Java 不一样,得先转换先
print('ITAEM有'+str(15)+'个成员')

# 9、求模:可以 %2 根据 1/0  定 奇偶
print(5%2)
2.列表
# 1、列表 CRUD
lang=['Java','JavaScript','Python']
# ① 查
# 第一个元素
print(lang[0])
# 最后一个元素,当len=0 时报错,负数即从末尾算起
print(lang[-1])
# ② 改
lang[0]='Go'
print(lang)
# ③ 增
lang.append('php')
print(lang)
# ④ 删
del lang[0]
print(lang)
# ⑤ 删末、用之
print(())
print(lang)
# ⑥ 删值:只删除第一个指定的值
lang.remove('JavaScript')
print(lang)


# 2、列表 组织
lang=['Java','C','Python']
# ① 永久排序:
# Ⅰ、正:按字母
()
print(lang)
# Ⅱ、反:按字母
(reverse=True)
print(lang)
# ② 临时排序:只排序显示本次
print(sorted(lang))
# print(sorted(lang,reverse=True)) # 反
print(lang)
# ③ 倒排序
lang.reverse()
print(lang)
# ④ 长度
print(len(lang))

# 3、列表 遍历
lang=['Java','C','Python']
# ① for in:和 ES 差不多,就省了( )
for l in lang:
    print(l)
# ② 数值
for v in range(3,9):
    print(v)
# ③ 数值->列表
nums=list(range(3,9))
print(nums)
# ④ 统计数字列表
# 最小
print(min(nums))
# 最大
print(max(nums))
# 平均
print(sum(nums))
# ⑤ 列表解析
squares=[v**2 for v in range(3,9)]
print(squares)
# ⑥ 切片
print(squares[:3])
print(squares[0:3])
print(squares[0:])
3.元组
ssh=('Spring','Struts2','Hibernate')
print(ssh)
print(ssh[0])
# ① 元组不能修改
# ssh[0]='xxx' # 报错
# ② 遍历
for v in ssh:
    print(v)

4.字典
# 1、创建:基本是 JSON 串、可嵌套
program={
    'C++':'good',
    'Java':'well',
    'Python':['perfect', 'powerful'],
    'other':{
        'php':'easy',
        'C#':'windows'
    }
}
print(program)
# 2、查
print(program['Java'])
# 3、增
program['Go']='excellent'
print(program)
# 4、改
program['C++']='common'
print(program)
# 5、删
del program['C++']
print(program)
# 6、遍历key-value
for k,v in program.items():
    print(k,v)
# 7、遍历key、排序
for k in sorted(()):
    print(k)
# 8、遍历value:value 嵌套,排不了序
for v in program.values():
    print(v)

5.流程控制
# 1、if-elif-else 判断
SSM=['Spring','SpringMVC','MyBatis']
# 列表部位空返回 True,否则 False
if SSM:
    print('SSM不为空')
elif 'Hibernate' not in SSM:
    print('Hibernate 不属于SSM系列')
else:
    print('结束')

# 2、input 输入:默认字符串
# name=input('your name')
# print('hello',name)
# age=int(input('your age')) # 字符转数值
# if 18==age:
#     print('perfect!')

# 3、while 循环:break 退出、continue 跳过
i=0
total=0
while i<=100:
    i = i + 1
    if i==5:
        break
    if i==4:
        continue
    total=total+i
print(total)

6.函数
import mymodule  as s

# 1、定义函数:传参
def sayHello(name,msg='excellent~'):
    print(name,msg)
    return 'that`s all'

# 2、参数顺序
sayHello('linhongcun!','well done~') # linhongcun! well done~
sayHello(msg='good~',name='larger5!') # larger5! good~

# 3、默认值:和 C++ 一致
sayHello(name='ITAEM!') # ITAEM excellent~
sayHello('ITAEM!') # ITAEM excellent~

# 4、返回值
print(sayHello('04008'))

# 5、列表参数
def update(list):
    list.append('55开')
# ① 原件
list=['Python','Java']
update(list)
print(list)
# ② 副本:禁止修改列表
update(list[:])
print(list)

#  6、不定参数
def show(*lan):
    print(lan)
show('Python')
show('Python','JavaScript')
7.类
# 继承 object
class People():
    def __init__(self,hobby='bb'):
        self.hobby=hobby

class Student(People):

    # 构造方法
    def __init__(self,hobby='bb',name='lvcha',age=15):
        super().__init__(hobby)
        =name
        =age

    # 类似 Java 的 toString
    def __str__(self):
        return str(+str())

    # 定义类 内部函数
    def showMSG(self):
        print('your name:',)
        print('your age',)

s1=Student('progra','linhongcun',21)
print(s1.hobby)
print(s1)
8.文件
# 1、传统打开、读取、关闭:和 C++ 基本一致
file1=open('','r') #注意路径
#全部输入,打成一行
content=file1.readlines()
print(len(content))
print(content)
file1.close()

# 2、with 在不需要访问文件后将自动关闭 ✔
with open('','r') as file2:
    print(())

# 3、新建写入
with open('','w') as file3:
    file3.write('I like programming\n')
    file3.write('I love you\n')

# 4、追加
with open('','a') as file4:
    file4.write('I can`t forget you\n')
9.异常
# 1、try-except-else
try:
    # print(1/0)
    print(2/5)
except ZeroDivisionError:
    print('fail by zero')
else:
    print('ok')
import json

# 列表
language1=['Python','Java','JavaScript']
# 字典
language2={
    'Python':'powerful',
    'Java':'famous',
    'JavaScript':'developing'
}
# 元组
language3=('C++','C','C#','Go')

# 1、JSON 写入文件
with open('','w') as file1:
    # (language1,file1)
    (language2,file1)
    # (language3,file1)

# 2、读取 JSON 文件
with open('','r') as file2:
    (file2)
    print(txt)
11.pygame
import pygame
import sys

def run():

    # 初始化屏幕
    ()
    # 窗口大小
    screen = pygame.display.set_mode((900, 600))
    # 窗口标题
    pygame.display.set_caption('吃鸡神坑助手')
    # 浅灰色
    bg_color=(230,230,230)
    ('')
    rect=screen.get_rect()
    while True:
        # 监视键盘、鼠标
        for event in ():
            if :
                ()
        # 背景颜色
        (bg_color)
        # 图片
        (image,rect)
        # 显示窗口
        ()

# 运行
run()

12.模块化编程

参考文章: 使用模块的方法:Python3导入自定义模块的3种方式 使用 以模块化:python引入导入自定义模块和外部文件

def show():
    print('hello')
from CrashProject import other
()
13.切片、迭代器、生成器
letter = ['a', 'b', 'c']
num = ['1', '2']

# []->()
list = (a + b for a in letter for b in num)
print(list)
for a in list:
    print(a)

list = [a + b for a in letter for b in num]
print(list)

14、装饰器

类似 JavaEE Spring 框架的 AOP

# 模拟登陆拦截
def AOPTest(func):
    print("---登陆前---")
    func()
    print("---登陆后---")

@AOPTest
def f1():
    print('调用方法')

15、属性 setter、getter
class Student(object):
    @property
    def birth(self):
        return self._birth

    @birth.setter
    def birth(self, value):
        self._birth = value


s1=Student()
s1.birth=18
print(s1.birth)

16、多态
class Animal:
    def __init__(self, name):
         = name

    def talk(self):
        pass

    @staticmethod   # 封装
    def animal_talk(obj):
        ()


class Cat(Animal):
    def talk(self):
        print('喵')

class Dog(Animal):
    def talk(self):
        print('汪')

d = Dog("dog1")

c = Cat("cat1")

Animal.animal_talk(c)
Animal.animal_talk(d)

三、其他

1、使用豆瓣加速 pip 模块,如安装:

pip  install  -i   django
pip install  -i 
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值