python
如意教育
专业浏览器开发定制、一对一视频教学,如意老师V:Charleval
展开
-
python中的__call__
__call__是一种特殊的方法,在对象作为函数被调用的时候会调用这个方法class callback: def __init__(self,a): self.a=a def __call__(self,url): html=requests.get(url) ...原创 2018-08-10 17:39:49 · 764 阅读 · 0 评论 -
python:__delitem__方法详解
__delitem__(self,key):这个方法在对对象的组成部分使用__del__语句的时候被调用,应删除与key相关联的值。同样,仅当对象可变的时候,才需要实现这个方法。class Tag: def __init__(self): self.change={'python':'This is python', 'p...原创 2018-08-11 19:00:54 · 7741 阅读 · 0 评论 -
python3爬取有道云翻译
import jsonimport timeimport randomimport hashlibimport requestsdef translate(content): url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' # 定义变量 clien...原创 2018-08-11 22:38:35 · 1324 阅读 · 3 评论 -
python装饰器学习笔记
LEGB:优先级依次递减函数内部作用域,函数内部与内嵌函数之间,全局作用域,内置作用域passline=60def func(val): passline=90 if val>=passline: print('pass') else: print('field') def in_func(): p...原创 2018-08-12 07:36:52 · 126 阅读 · 0 评论 -
python3GUI制作翻译器和MD5加密器
from tkinter import *import hashlibimport timeimport TK英语翻译器LOG_LINE_NUM = 0class MY_GUI(): def __init__(self,init_window_name): self.init_window_name = init_window_name #设置窗...原创 2018-08-12 09:23:14 · 513 阅读 · 0 评论 -
python:异或加密算法
def encode(plaintext,key): key = key * (len(plaintext) // len(key)) + key[:len(plaintext) % len(key)]#取整数/余数 ciphertext=[] for i in range(len(plaintext)): ciphertext.append(str(or...原创 2018-08-12 12:50:29 · 2432 阅读 · 0 评论 -
python缓存直播到到本地
这里用了一个很好用的包,streamlink,可在github上查看源代码~几乎所有直播平台都可以缓存~from streamlink import Streamlinkimport streamlinkfrom urllib import requestimport os,timemovie=input('[INFO]输入你要下载的直播视频地址>>>>')...原创 2018-09-10 21:50:32 · 3083 阅读 · 8 评论 -
用python做验证码
引用PIL模块效果图展示:from PIL import ImageDraw,ImageFontfrom PIL import Imageimport randomfrom io import BytesIO#在内存中创建def get_random_color(): color=(random.randint(0,255),random.randint(0,25...原创 2018-09-19 22:38:55 · 576 阅读 · 0 评论 -
python网络爬虫磁盘缓存数据
import osimport reimport urllib.parseimport pickleclass DiskCache: def __init__(self,cache_dir='cache'): self.cache_dir=cache_dir def __getitem__(self, item): '''获取缓存'''...原创 2018-11-14 10:36:37 · 586 阅读 · 0 评论 -
Mongodb缓存爬虫数据
from pymongo import MongoClientfrom datetime import datetime,timedeltaimport zlibimport pickleclass MongoCache: def __init__(self,client=None,expires=timedelta(days=30)): self.client...原创 2018-11-14 11:09:08 · 185 阅读 · 0 评论 -
python享元模式
#享元模式是用于优化的#是创建大量重复单元,不在意单个ID的,就是说,他们的ID是不区分的#比如说创建一万颗树,第一次可以创建,接下来就不用再开辟内存了,直接寻找,找到就返回创建import randomfrom enum import EnumTreeType=Enum("TreeType",("apple","cherry","peach"))class Tree: ...翻译 2018-11-18 20:14:44 · 298 阅读 · 0 评论 -
python实现群聊服务器
import socketimport threadingimport logginglog=logging.basicConfig(level=logging.DEBUG, format='%(asctime)s--%(threadName)s--%(processName)s--' ...原创 2018-11-16 23:24:36 · 412 阅读 · 0 评论 -
python:dict.copy()
dict1 = {'Name': 'Zara', 'Age': [0,0,0]}""" dict.copy() 对于一级目录是深拷贝,二级目录浅拷贝,浅拷贝就是引用 浅拷贝的话,改变子对象,父对象也改变"""dict2 = dict1.copy()print('dict2',dict2)#一级目录相互独立dict2['Name']='lose'print(...原创 2019-04-12 08:33:06 · 1096 阅读 · 0 评论 -
python:__setitem__方法详解
__setitem__(self,key,value):这个方法应该以与键相关联的方式存储值,以便之后能够使用__setitem__来获取。当然,这个对象可变时才需要实现这个方法。class Tag: def __init__(self): self.change={'python':'This is python', '......原创 2018-08-11 18:51:05 · 29186 阅读 · 5 评论 -
python:__getitem__方法详解
__getitem__(self,key):这个方法返回与指定键想关联的值。对序列来说,键应该是0~n-1的整数,其中n为序列的长度。对映射来说,键可以是任何类型。class Tag: def __init__(self,id): self.id=id def __getitem__(self, item): print('这个方法被调用.........原创 2018-08-11 18:36:00 · 66302 阅读 · 8 评论 -
避免爬虫陷阱
#为避免爬虫陷阱,将用于避免重复链接的seen记录值修改为字典,增加记录访问次数#现在有了这一功能,我们就有信心爬虫最终一定能够完成。#如果想要禁用该功能,只需将max_depth设为一个负数即可,此时当前深度永远不会与之相等。def link_crawler(..., max_depth=2): max_depth = 2 seen = {} ... dep...转载 2018-08-10 15:20:37 · 840 阅读 · 0 评论 -
python爬取微信
import itchatitchat.logout()itchat.login()friends=itchat.get_friends(update=True)[0:]result = ('Signature', '个性签名')for user in friends: with open('myFriends.csv', 'a', encoding='utf8') as f...原创 2018-08-09 23:46:13 · 281 阅读 · 0 评论 -
os.path常用模块使用
1.print(os.path.dirname(__file__))返回D:\python\xiangmu\django_mode\django005\app01\views.py当前文件的绝对路径2.print(os.path.dirname(os.path.dirname(__file__)))返回D:\python\xiangmu\django_mode\django005...原创 2018-08-08 11:21:49 · 196 阅读 · 0 评论 -
浅谈Python爬虫里的compile与findAll合用
直接上代码,爬取豆瓣读书的信息import requests,refrom bs4 import BeautifulSoupheaders={'User-Agent':'....'}#写下你的user-agentdef getdata(url): html=requests.get(url,headers=headers) selector=BeautifulSoup(...原创 2018-07-19 19:44:31 · 2069 阅读 · 0 评论 -
python3爬取微信公众号文章
爬取微信公众号的文章,主要是构造url,而且要准备多个IPimport requests,re,os,randomfrom lxml import etreefrom urllib.parse import urlencodeagents = ["Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHT...原创 2018-07-23 18:22:07 · 2035 阅读 · 3 评论 -
零基础python3爬虫爬取起点小说
本次爬虫爬取了起点中文网小说,包括分类,标题,内容,且进行了分别存储主要用到基础知识,完全零基础,所以没有用scrapy,redis分布式或者多进程多线程之类的js渲染右键无法点击怎么办?由于起点中文网打击盗版,用了js进行渲染,所以进入小说浏览页面无法点击右键,但我们也不是没有办法比较通俗的破解方法是进入浏览器的设置---安全设置--关闭js脚本也可以查看你的浏览器快捷键设置...原创 2018-07-20 23:22:26 · 3448 阅读 · 1 评论 -
Python:Invalid format string
from datetime import datetime# Create your views here.with open('D:/msgdata.txt', 'a+')as f: f.write('{}--{}--{}--{}--\n'.format(userB, userA, msg, time.strftime("%y-%m-%d %h:%m:%s")))主要是时间上...原创 2018-08-07 23:53:39 · 8146 阅读 · 1 评论 -
python3爬取百度Ajax渲染图片
import requestsfrom lxml import etreefrom urllib.request import quotefrom multiprocessing import Poolfrom urllib.parse import urlencodefrom json.decoder import JSONDecodeError可以改成多进程爬取在传输param...原创 2018-07-25 09:27:10 · 369 阅读 · 0 评论 -
简单的python代理爬取及验证
# import requests,re# from multiprocessing import Pool# # proxy=[]# alive_ip=[]# headers={'Connection':'keep-alive',# 'Cookie':'你的cookie',# 'User-Agent':'Mozilla/5.0 ...原创 2018-07-22 09:35:27 · 232 阅读 · 0 评论 -
Python3 TypeError: object() takes no parameters
class Tag(): def _init_(self,url): self.url=url def show(self): print(self.url)a=Tag('www.baidu.com')a.show()这样会报错object() takes no paramet...原创 2018-08-11 11:09:34 · 487 阅读 · 0 评论 -
python 跨知乎app发私信以及Python专栏30万用户信息爬取
import requestsclass SendMsg: def __init__(self): self.url='https://www.zhihu.com/api/v4/messages' #要发送的信息 self.data={'content':'小管家你好', 'receiver_hash':'****...原创 2018-08-11 12:04:06 · 931 阅读 · 0 评论 -
百度api图片文字识别
from aip import AipOcr""" 读取图片 """def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read()def get_text(): """你的APPIDAKK""" APP_ID = 'id' API_原创 2018-08-11 16:31:44 · 985 阅读 · 0 评论 -
PyQt5打包出错:pyinstaller failed to execute script or not find or load the QT platform plugin “windows”
困扰一整天,试验找出最终解决方案:pyinstaller --hidden-import=queue --path=D:\Anacoda\Lib\site-packages\PyQt5\Qt\bin -w -F main.py注:--path为你自己的QT路径原创 2019-08-09 18:05:07 · 360 阅读 · 0 评论