
python
112479
112479
展开
-
Python json和dict
Json是字符串 type(json) out: str 所以所有字符串的方法json都能用 Dict是字典,有自己的key,value方法 Json和dict相互转换(dumps, loads),可以用到想要的方法loads,dumps带s的都是和字符串相关的,操作字符串 Json转字典用json.loads() 字典转json,把字符串存入数据库或excel,不需要操作文件,都用json.dumps()load,dump不带s的都是和文件相关的,操作文件 读以.js...原创 2022-03-31 12:14:50 · 1781 阅读 · 0 评论 -
校验文件夹和子文件夹内的所有文件
校验文件夹和子文件夹内的所有文件原创 2022-01-15 11:28:48 · 556 阅读 · 0 评论 -
python修改注册表
def modify(): ''' 修改注册表 :return: ''' try: key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, r'Software', 0, win32con.KEY_READ) win32api.RegCreateKey(key, '111...原创 2019-10-22 10:40:45 · 399 阅读 · 0 评论 -
Python selenium 三种等待方式
1. 强制等待time.sleep()2. 显式等待 from selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.common.by import...原创 2018-03-23 15:15:09 · 983 阅读 · 1 评论 -
多表单切换 frame/iframe切换
#<iframe id = 'if' name = 'nf'> </iframe>1. 进入framedriver_url = driver.get(url)switch_to.frame('if') #也可使用F12>copyXpath,把定位对象传给方法2. 回到上一层框架driver_url.switch_to.parent_content()3. ...原创 2018-03-29 18:06:10 · 1191 阅读 · 2 评论 -
python pip批量安装扩展包
1.创建文件名 xxx.txt2.文件内写入cycler==0.10.0matplotlib==2.1.1格式为:'包名' + '==' + '版本号'3.cmd在scripts目录下运行命令 :pip install -r xxx.txt原创 2018-03-14 13:47:05 · 2615 阅读 · 1 评论 -
python selenium 获得当前窗口句柄/获得当前窗口
1. 获得当前窗口句柄: driver.current_window_handles2. 获得当前所有一打开的窗口句柄: driver.window_handles3.切换窗口: driver.switch_to.window() #参数为句柄...原创 2018-03-30 17:49:54 · 8681 阅读 · 2 评论 -
python selenium 关闭浏览器窗口的方法
1. driver.quit() #退出相关驱动程序,并关闭所有窗口2. driver.close() #关闭当前一个窗口原创 2018-04-02 14:55:17 · 18448 阅读 · 0 评论 -
python 文件夹文件排序,获取最新文件
#coding=utf-8import osresult_dir = 'C:\\Users\\Administrator\\Desktop\\selenium_auto_test'lists = os.listdir(result_dir) #获得文件夹内所有文件lists.sort(key=lambda fn: os.path.getmtime(result_dir+'\\' + ...原创 2018-04-04 17:27:05 · 2880 阅读 · 0 评论 -
is not a supported wheel on this platform.
安装:pip install Twisted-17.1.0-cp36-cp36m-win_amd32.whl错误:Twisted-17.9.0-cp36-cp36m-win32.whl is not a supported wheel on this platform.解决方法:修改包名更改为:Twisted-17.9.0-cp36-none-win32.whl...原创 2018-04-18 11:11:06 · 3007 阅读 · 2 评论 -
appium error: uncaughtException: Cannot find module 'internal/fs'
error: uncaughtException: Cannot find module 'internal/fs'原创 2018-05-17 20:51:49 · 2276 阅读 · 3 评论 -
python 爬虫多线程/多进程
from multiprocessing.dummy import Pool #多线程from multiprocessing import Pool #多进程#io密集型操作适合多线程,cpu密集型操作适合多进程,爬虫推荐多线程def get_info(url): passurls = ['1','2'] #列表生成式pool = Pool...原创 2018-05-12 15:16:02 · 228 阅读 · 0 评论 -
python 爬虫保存图片/多线程
踩过的坑:1. OSError: [Errno 22] Invalid argument 创建jpg文件时,直接用的图片链接作为图片名的,而链接中有'/',所以报错了,解决方法是链接切片2. TypeError: a bytes-like object is required, not 'str' 把URL返回的response写入图片时报错,resp.text返回的是Unicod...原创 2018-05-15 15:53:48 · 1476 阅读 · 0 评论 -
selenium.common.exceptions.NoSuchFrameException: Message: no such frame
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element错误原因:所在的框架不对 导致找不到元素https://www.cnblogs.com/technologylife/p/5851496.html解决方法: 1. 先回到最外层框架 2...原创 2018-06-12 15:35:51 · 11745 阅读 · 2 评论 -
selenium实践,破解极验第三代滑动验证码,80%成功率
# coding=utf-8from selenium import webdriverimport timeimport randomfrom PIL import Imagefrom PIL import ImageChopsimport operatorimport cv2from selenium.webdriver.common.action_chains ...原创 2018-06-20 20:37:00 · 2066 阅读 · 0 评论 -
图片模糊工具
#coding=utf-8from PIL import Image, ImageFilterkitten = Image.open("kitten.jpg")blurryKitten = kitten.filter(ImageFilter.GaussianBlur)blurryKitten.save("kitten_blurred.jpg")blurryKitten.show()原创 2018-06-07 16:02:06 · 534 阅读 · 0 评论 -
解析json踩过的坑 元组转字典
json如上图,获取json后,发现是元组,使用veal()转换,一直报错,请教群内大神后,发现是不规则的json,解决方法如下# -*- coding: utf-8 -*-import requestsimport jsondef url_get(url): response = requests.get(url, headers=headers) response =...原创 2018-07-03 17:53:15 · 1026 阅读 · 0 评论 -
突破反爬虫
突破反爬虫的核心思想: 将爬虫模拟的像人在操作一样1. 验证码: 1. 识别验证码 2. selenium突破滑动验证码 3. 人工打码 4. 打码兔 2. headers头: 1.改U-A头和referer3. 检测ip访问频率 1. 更换ip4. 检测ip访问间隔 1. 设置随机访问频率5. 同一账号高频率访问 1. 注册多个账号,造cookie池,随机cookie访问...原创 2018-07-30 16:22:18 · 288 阅读 · 0 评论 -
python爬虫 随机UA库
安装:pip install fake-useragent使用:from fake_useragent import UserAgentua = UserAgent()调用指定ua:ua.ieMozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)随机ua:ua.random ...原创 2018-08-02 11:16:15 · 8831 阅读 · 1 评论 -
scrapy 安装步骤
pip install pywin32pip install lxmlpip install wheelpip install twisted 安装包下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/pip install scrapy原创 2018-08-12 22:11:39 · 200 阅读 · 0 评论 -
scrapy ValueError: Missing scheme in request url:
next_url = response.urljoin(next_url) yield scrapy.Request(next_url, callback=self.parse)yield前,使用urljoin原创 2018-08-13 15:06:32 · 3437 阅读 · 2 评论 -
scrapy TypeError: Cannot mix str and non-str arguments
爬到的list切片下,取出要爬的链接,一般在xpath().extract()后加个[0]原创 2018-08-13 15:12:25 · 6810 阅读 · 0 评论 -
Learning Scrapy 笔记
1. 命令行在项目根目录,根据crawl模版创建名为test的spider,web指spider可爬取的域名url, scrapy提供了诸多模版 scrapy genspider –t crawl test web2. scrapy抓取中文结果默认是unicode,无法显示中文 在setting设置 FEED_EXPORT_ENCODING = 'utf-8'3. ...原创 2018-08-23 20:45:27 · 314 阅读 · 0 评论 -
python控制微信, 微信控制PC执行脚本
# coding=utf-8import wxpyimport os, traceback, timefrom selenium import webdriverdef wechat_login(): ''' 监控微信 :return: ''' bot = wxpy.Bot() # 消息接收监听器 @bot.register(...原创 2018-08-28 20:18:46 · 13971 阅读 · 1 评论 -
scrapy AttributeError: 'str' object has no attribute 'xpath'
错误代码示例: def parse(self, response): for news in response.xpath('//*[@class="Q-tpList"]/div/div/em').extract(): title = news.xpath('a/text()').extract()[0].strip()解决方法:把第二行...原创 2018-08-21 17:56:53 · 14693 阅读 · 3 评论 -
scrapy 爬取起点
# coding=utf-8import scrapyfrom qidian.items import QidianItemclass QiDian(scrapy.Spider): name = 'qidian_spider' start_urls = ['https://www.qidian.com/all'] def parse(self, respons...原创 2018-09-01 15:09:56 · 349 阅读 · 0 评论 -
scrapy 使用rule LinkExtractor提取链接
# coding=utf-8import scrapyfrom scrapy.linkextractors import LinkExtractorclass Jianshu(scrapy.Spider): name = "jianshu_spider" allowed_domains = ["jianshu.com"] start_urls = ['https...原创 2018-09-11 17:22:26 · 2375 阅读 · 2 评论 -
scrapy rule follow的理解和应用
follow 是一个布尔(boolean)值,指定了根据该规则从response提取的链接是否需要跟进。 如果callback 为None,follow 默认设置为 True ,添加回调函数callback后为 False,不跟踪一句话解释:follow可以理解为回调自己的回调函数举个例子,如百度百科,从任意一个词条入手,抓取词条中的超链接来跳转,rule会对超链接发起requests请求...原创 2018-09-17 15:59:17 · 2963 阅读 · 0 评论 -
爬虫登录Django, scrf拦截, token验证, scrapy模拟登录
思路:在登录页面获取令牌,发送发帖,附带上已获取的令牌参考:https: //www.jianshu.com/p/d73e971da41cimport requestsfrom lxml import etreeheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWe\ ...原创 2018-09-20 15:07:25 · 1749 阅读 · 0 评论 -
ERROR: Error while obtaining start requests
手误导致的1.看看是不是把callback写成了callable或其他2.看看回调函数是不是忘记带self. 如callback=self.parse写成了callback=parse原创 2018-10-02 11:43:56 · 7123 阅读 · 1 评论 -
scrapyd部署
1. pip install scrapyd 验证是否安装成功: cmd: scrapyd 浏览器: 127.0.0.1:6800 部署爬虫时cmd要一直执行着scrapyd,否则会导致浏览器无法访问和部署时网络拒绝2. pip install scrapyd-client 2.1. python\Scripts\ 目录下新建scrapyd...原创 2018-10-05 13:18:34 · 970 阅读 · 0 评论 -
scrapyd log 网页上乱码
用的chrome,scrapyd抓取下来发现中文乱码了,需要更改chrome编码:https://blog.youkuaiyun.com/tfstone/article/details/80086792原创 2018-09-30 18:01:30 · 1154 阅读 · 0 评论 -
TypeError: 'Request' object is not iterable
猜测你的代码是这样的:return scrapy.Request(self.start_urls, callback=self.parse_link)有两种解决方法:1.使用yield, 把return换为yieldyield scrapy.Request(self.start_urls, callback=self.parse_link)2.使用return, 加个方括号, 转...原创 2018-10-17 11:08:04 · 2562 阅读 · 0 评论 -
python装饰器
# coding=utf-8# 所有能把函数作为参数传递的语言都能使用装饰器# 装饰器是特殊的函数,为已有函数增加功能,而不改变原代码块,如打日志,测试代码运行时间# 装饰器是根据闭包,作用域的特性实现的def print_hi(func): def inner(): print('hi') func() return inner...原创 2018-11-05 15:16:54 · 141 阅读 · 0 评论 -
TypeError: 'Request' object is not iterable
猜测你的代码是这样的:return scrapy.Request(self.start_urls, callback=self.parse_link)有两种解决方法:1.使用yield, 把return换为yieldyield scrapy.Request(self.start_urls, callback=self.parse_link)2.使用return, 加个方括号, 转...原创 2018-11-14 16:10:59 · 2109 阅读 · 6 评论 -
selenium Message: invalid selector: The result of the xpath expression
selenium的xpath表达式写错了, selenium不支持xpath中直接获取text 错误代码示例 :driver.find_element_by_xpath('//*[@class="signTime"]/text()')正确代码示例 : driver.find_element_by_xpath('//*[@class="signTime"]').text ...原创 2018-12-22 17:21:10 · 5427 阅读 · 0 评论 -
python effective 笔记
python effective 笔记原创 2019-03-04 17:24:27 · 235 阅读 · 1 评论 -
python excel xlwings 详解
官方文档: https://docs.xlwings.org/en/stable/quickstart.html# 导入库import xlwings as xw# 设为程序可见, 不新建工作薄# app = xw.App(visible=True, add_book=False)# 新建文档,保存wb = xw.Book()wb.save('test.xlsx')# 打开...原创 2019-05-29 20:40:19 · 10747 阅读 · 3 评论 -
python @classmethod
深入理解python @classmethod被@classmethod装饰的方法1. 强制带个参数,cls,cls代表这个类本身2. 不用实例化,和静态方法一样,直接 类().方法() 即可调用3. cls是个位置参数,可随意换成其他词,如this如想获取类属性x的值,可直接cls.x,等价于A.xclass A(): x = 1 @classmethod...原创 2019-07-08 18:07:21 · 3461 阅读 · 0 评论 -
python各种装饰器
1. @property @X.setter 用于属性修改的校验 等价于C#的get set,set用来限制属性的改变,get用来返回参数2. @abstractmethod 用于强制让你重写方法 被@abstractmethod装饰的方法的基类,无法进行实例化,继承于基类的子类,如果不重写被装饰的方法,也无法进行实例化3. __slots__魔法...原创 2019-07-09 14:52:55 · 208 阅读 · 0 评论