python优秀例子

'''
练习1:求1000以内所有的水仙花数
需求:求1000以内的所有的水仙花数,水仙花数是三位数
分析:它的每个位数上的数字的3次幂之和等于它本身
'''
sxh = []
for i in range(100, 1000):
    m = list(str(i))
    s = 0
    for j in m:
        s += int(j) ** 3
    if s == i:
        print(i)
        sxh.append(i)

print('1000以内的水仙花数是', sxh)

 

import requests
import json

class King(object):

    def __init__(self, word):
        self.url = 'https://fanyi.qq.com/api/translate'
        self.headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "
                          "Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.2261 SLBChan/10 "
        }
        self.data = {
            "source": "auto",
            "target": "auto",
            "sourceText": word
        }

    def get_data(self):
        # 使用post方法发送一个post请求,data为请求体的字典
        response = requests.post(self.url, data=self.data, headers=self.headers)
        return response.content

    def parse_data(self, date):
        # 将loads方法将json字符串转换为python字典
        dict_data = json.loads(date)
        # try:
        # dict.map
        # except:
        print(dict_data['translate']['records'][0]['targetText'])

    def run(self):
        # 编写爬虫逻辑
        # url
        # headers
        # data字典
        # 发送请求获取响应
        response = self.get_data()
        # print(response)
        # 数据解析
        self.parse_data(response)

if __name__ == '__main__':
    # 循环输入需要翻译的中文、英文单词
    while True:
        word = input("请输入要翻译的中文或英文单词:")
        king = King(word)
        king.run()

 

import requests
url = 'https://movie.douban.com/j/chart/top_list'
param = {
    'type': '24',
    'interval_id':'100:90',
    'action': '',
    'start': '0',
    'limit': '20'
}
headers = {
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
}
resp = requests.get(url=url,params=param,headers=headers)
print(resp.json())
resp.close()

import requests

url = 'http://httpbin.org/get'
params = {
    'name':'germey',
    'age':22
}

response = requests.get(url=url,params=params)
print(response.text)

 

import asyncio

def callback(n):
    print('我是回调函数,参数为: {0} '.format(n))

async def main(loop):
    print('在异步函数中注册回调函数')
    #loop.call_later代表待会执行,参数为(第几个执行,被调用函数名,函数参数)
    loop.call_later(2, callback, 11)
    loop.call_later(1, callback, 22)
    #soon代表待会第一个执行,参数为(被调用函数名,函数参数)
    loop.call_soon(callback, 33)
    await asyncio.sleep(4)


loop = asyncio.get_event_loop()
print('进入事件循环')

#代表进入事件循环
loop.run_until_complete(main(loop))

print('关闭事件循环')
loop.close()
'''运行结果为:
进入事件循环
在异步函数中注册回调函数
我是回调函数,参数为: 33
我是回调函数,参数为: 22
我是回调函数,参数为: 11
关闭事件循环
'''

 

#引入异步
import asyncio

#定义一个异步函数
async def add(x,y):
    r = x+y
    return r
#定一个一个普通函数
async def bad_call(a,b,c,d):
    a_b = await add(a,b)
    await asyncio.sleep(1)
    c_d = await add(c,d)
    print (a_b*c_d)
#这个判断方法代表"当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行"
if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(bad_call(1,3,3,4))

 

import requests,json
#爬取肯德基指定位置有多少家餐厅。
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
keyword = input('请输入要查询的地名:')
data = {
    'cname':'',
    'pid': '',
    'keyword': keyword,
    'pageIndex': '1',
    'pageSize': '10'
}
header = {
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}
response = requests.post(url=url, data=data, headers=header)
content_json = response.json()
content_json = json.dumps(content_json,ensure_ascii=False)
result = json.loads(content_json)
rowcount = result['Table'][0]['rowcount']
print(rowcount)

 

posted on 2021-05-08 17:19  陈聚聚  阅读(99)  评论(0)    收藏  举报

导航