亚洲色成人网站www永久,亚洲欧美人成视频一区在线,亚洲国产成人高清在线观看,亚洲精品久久久久久动漫,亚洲国产精品久久电影欧美

數據專欄

智能大數據搬運工,你想要的我們都有

科技資訊

科技學院

科技百科

科技書籍

網站大全

軟件大全

我有一個需求哦,想在包內中的一個模塊隱藏一個函數,包中的__init__設置了__all__列表,然后呢,在那個模塊內也寫了__all__列表,但是外部 Python 文件還是可以調用到沒寫入__all__列表的函數,請問怎么解決這個問題呢?
前沿探索
2020-08-18 03:40:59
地址: https://github.com/Lonersun/coding-promise/blob/master/Python%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md
前沿探索
2020-08-18 03:40:57
網上搜索 python asyncio 包的介紹,清一色都涉及到了 IO 多路復用( EventLoop ),非阻塞確實能夠提升性能,但是和協程有啥關系呢~?我的疑惑是 python 的原生協程是基于生成器增強來實現的,怎么與 IO 多路復用關聯到一塊呢?
前沿探索
2020-08-18 03:40:54
DataFrame 有點像 Excel 的表還有點像 SQL 中的表,但是其功能和二者差別又不小。如果要像不熟悉 Python 的人介紹 DataFrame, 該給它取個什么名字呢?最好比較形象生動又能體現 DataFrame 的主要特征。數據陣列式怎么樣?
前沿探索
2020-08-18 03:40:52
第一次做,不太了解。
前沿探索
2020-08-18 03:40:49
如何讓 scrapy 抓取完成之后的結果返回到 shell 窗口;
我想實現的是,a 用戶發(fā)起一個抓取請求,后端接收到請求,調起 scrapy 進行抓取,然后返回數據到 a 用戶那。。
我想問一下,這個結構,如何實現?
我所知道的,大概就僅僅是用命令運行爬蟲,然后存入庫。。然而我并不想讓他存庫。我想讓他把結果返回出去。。
那如果我使用 python 的 subprocess 執(zhí)行命令,獲取 shell 的返回值,然后返給 a 用戶,你們覺得這樣是可行的嗎?
前沿探索
2020-08-18 03:40:46
整了一個 rpc 框架,支持普通函數、生成器函數以及它們的異步版本。
https://github.com/abersheeran/rpc.py
感覺好像不缺什么了?歡迎大家來用。
Server side: import uvicorn from rpcpy import RPC app = RPC(mode="ASGI") @app.register async def none() -> None: return @app.register async def sayhi(name: str) -> str: return f"hi {name}" @app.register async def yield_data(max_num: int): for i in range(max_num): yield i if __name__ == "__main__": uvicorn.run(app, interface="asgi3", port=65432)
OR import uvicorn from rpcpy import RPC app = RPC() @app.register def none() -> None: return @app.register def sayhi(name: str) -> str: return f"hi {name}" @app.register def yield_data(max_num: int): for i in range(max_num): yield i if __name__ == "__main__": uvicorn.run(app, interface="wsgi", port=65432)
Client side: import httpx from rpcpy.client import Client app = Client( httpx.Client(), base_url="http://127.0.0.1:65432/") @app.remote_call def none() -> None: ... @app.remote_call def sayhi(name: str) -> str: ... @app.remote_call def yield_data(max_num: int): yield
OR import httpx from rpcpy.client import Client app = Client( httpx.AsyncClient(), base_url="http://127.0.0.1:65432/") @app.remote_call async def none() -> None: ... @app.remote_call async def sayhi(name: str) -> str: ... @app.remote_call async def yield_data(max_num: int): yield
前沿探索
2020-08-18 03:40:44
hello,小伙伴們大家好,今天給大家推薦的開源項目是: fake-useragent ,這個開源項目對搞爬蟲的業(yè)務的人來說是一個福利,不用去自己搭建自己的 UA 池,只需要調用對應的方法即可,簡單易用,感興趣的小伙伴不妨去下載嘗試一下。
使用方法 from fake_useragent import UserAgent ua = UserAgent() ua.ie # Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US); ua.msie # Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)' ua['Internet Explorer'] # Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US) ua.opera # Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11 ua.chrome # Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2' ua.google # Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13 ua['google chrome'] # Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 ua.firefox # Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1 ua.ff # Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1 ua.safari # Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 # and the best one, random via real world browser usage statistic ua.random # Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
筆記
fake-useragent 將收集的數據存儲在您的操作系統臨時目錄中,例如 /tmp
如果您只想更新保存的數據庫: from fake_useragent import UserAgent ua = UserAgent() ua.update()
如果您不想緩存數據庫或沒有可寫文件系統: from fake_useragent import UserAgent ua = UserAgent(cache=False)
有時, useragentstring.com 或 w3schools.com 更改其 html 或向下更改,在這種情況下,fake-useragent 使用 heroku 后備
如果您不想使用托管的緩存服務器(添加了 0.1.5 版) from fake_useragent import UserAgent ua = UserAgent(use_cache_server=False)
在極少數情況下,如果托管的緩存服務器和源不可用,fake-useragent 將無法下載數據:(添加了 0.1.3 版) from fake_useragent import UserAgent ua = UserAgent() # Traceback (most recent call last): # ... # fake_useragent.errors.FakeUserAgentError # You can catch it via from fake_useragent import FakeUserAgentError try: ua = UserAgent() except FakeUserAgentError: pass
如果您嘗試獲取未知的瀏覽器:(版本 0.1.3 已更改) from fake_useragent import UserAgent ua = UserAgent() ua.best_browser # Traceback (most recent call last): # ... # fake_useragent.errors.FakeUserAgentError
您可以通過添加來完全禁用任何煩人的異常 fallback:(添加了 0.1.4 版) import fake_useragent ua = fake_useragent.UserAgent(fallback='Your favorite Browser') # in case if something went wrong, one more time it is REALLY!!! rare case ua.random == 'Your favorite Browser'
要控制數據文件的位置嗎?(添加了 0.1.4 版) import fake_useragent # I am STRONGLY!!! recommend to use version suffix location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION ua = fake_useragent.UserAgent(path=location) ua.randoms
如果需要保護某些屬性,以免__getattr__使用方法在 UserAgent 中覆蓋某些屬性,則可以在 safe_attrs 此處傳遞屬性名稱。至少這將防止您在找不到屬性時引發(fā) FakeUserAgentError 。
例如,將 fake_useragent 與注入配合使用時,您需要: import fake_useragent ua = fake_useragent.UserAgent(safe_attrs=('__injections__',))
請不要使用,如果您不明白為什么需要它。這在極少數情況下是不可思議的。
遇到問題???
確保您使用的是最新版本! pip install -U fake-useragent
通過 python 控制臺檢查版本:(添加了 0.1.4 版) import fake_useragent print(fake_useragent.VERSION)
安裝 pip install fake-useragent
開源地址: https://github.com/hellysmile/fake-useragent
今天的推薦不知道大家喜歡嗎?如果你們喜歡話,請在文章底部留言或點贊,以表示對我的支持,你們的留言,點贊,轉發(fā)關注是我持續(xù)更新的動力哦!
關注公眾號回復:" 1024 ",免費領取一大波學習資源,先到先得哦!
前沿探索
2020-08-18 03:40:42
我在使用 scrapy 框架的過程中發(fā)現并發(fā)量上不去, 大概每秒 50 左右...想了解一下爬蟲并發(fā)量除了跟網絡, 源站點, 業(yè)務邏輯以外, 還有哪些因素會影響并發(fā)量呢?1. 框架的并發(fā)設置是 500( 實際只有 50 ) 2. 源網站性能應該是沒問題的 3. 帶寬 100M(實際并跑不滿, 每秒大概只有 1M 左右) 4. 業(yè)務沒有復雜邏輯, 頁面下載完后就兩個 xpath, 2 個正則, 然后就入庫了 5. 硬盤是阿里云的云盤, 大概是 1240 IOPS 左右 6. 服務器 cpu 是 2 核的 (不知道是不是因為配置太低成為了瓶頸) 求大佬們解惑
前沿探索
2020-08-18 03:40:39
hello,小伙伴們,大家好,今天給大家介紹的開源項目是: sign-algorithms ,這個開源項目項目寫的是關于逆向 Android APP 獲取或調用簽名算法相關的爬蟲解密相關項目,感興趣的小伙伴不妨看一下。
項目目錄
項目不多,但是如果把這幾個項目完完全全搞明白了,及時是遇到其它的 APP 或者是類似于的加密,我相信你大概都會有一個思路,不至于一點想法兒沒有,感興趣的小伙伴一定要 clone 下來這個項目好好研究一下,好記性不如爛筆頭,加油,你一定可以的?。。。ㄊ謩庸奉^)
開源地址: https://github.com/godcong/fate
今天的推薦不知道大家喜歡嗎?如果你們喜歡話,請在文章底部留言或點贊,以表示對我的支持,你們的留言,點贊,轉發(fā)關注是我持續(xù)更新的動力哦!
關注公眾號回復:" 1024 ",免費領取一大波學習資源,先到先得哦!
前沿探索
2020-08-18 03:40:37
場景
小程序內點擊某個按鈕,彈出滑塊驗證碼,驗證碼是集成第三方的 sdk,大概流程是驗證碼會先對瀏覽器客戶端做環(huán)境檢查搜集成設備指紋,然后由服務端返回流水號( token)、驗證形式和驗證圖片。前端記錄拖動或點擊答案位置時的行為軌跡,發(fā)送服務端進行驗證,成功則返回 token
難點在于,代碼在小程序內,不方便閱讀源代碼,相關的網絡包能抓到
問題和想要的結果
1.能幫忙使用程序偽裝獲得驗證碼
2.能講清楚具體流程
3.不一定需要幫忙打碼,有最好,沒有打碼可以接平臺去處理
4.是否一定需要 Selenium 進行處理,因為原來的爬蟲跑在服務器,沒有圖形界面
自己前端渣渣,求大佬指教,有償,1000rmb,可以再商量,聯系方式:wx:dGlhbnlhZ3VsdjEzMTQ=
前沿探索
2020-08-18 03:40:34
class Base(): def __init__(self): print("Base") class First(Base): def __init__(self): super().__init__() print("first") class Second(Base): def __init__(self): print("second") class Third(First,Second): def __init__(self): super().__init__() print("third") Third()
為何輸出結果為
second
first
third
為什么 First 中 super(). init () 沒有被調用呢
如果代碼改為 class Base(): def __init__(self): print("Base") class First(Base): def __init__(self): super().__init__() print("first") class Second(Base): def __init__(self): super().__init__() print("second") class Third(First,Second): def __init__(self): super().__init__() print("third") Third()
則輸出結果為
Base
second
first
third
前沿探索
2020-08-18 03:40:32
java jsoup,多線程也方便,python 有哪些 java 爬蟲沒有的優(yōu)勢?
前沿探索
2020-08-18 03:40:30
scrapy
進入虛擬環(huán)境安裝:
(scrapy) conda install scrapy
得到的版本為 1.6,但是我通過 conda 的 pip 安裝得到的版本是 2.2.0 的版本
請問一下如何使用 conda 命令安裝可以得到最新版本
前沿探索
2020-08-18 03:40:29
請問各位,anaconda 哪個鏡像能用,用 conda install xxx 總是下載不下來。
前沿探索
2020-08-18 03:40:26
···python3------------------ for span in spans: cc = span.text.strip('\') print(cc,end="/")` ------------------ 這個 for 循環(huán)是在函數內執(zhí)行的,請教下如何把 print 的數據作為變量值再利用呢?
前沿探索
2020-08-18 03:40:20
有個定時任務(Period Task)配的是每 1 小時跑一次,項目啟動的前 3 次是能正常能跑的,但是第 4 次任務沒有執(zhí)行,第 5 次又正常跑了??戳艘幌?Beat 的日志任務確實產生了,但是從 Worker 日志和 Flower 上看,任務并沒有執(zhí)行,且從業(yè)務上看確實沒有執(zhí)行定時任務。Worker 日志里面看了一下也沒有報錯。我們的 Broker 是用的 Redis 3,這個項目的所有任務都放到同一個隊列上,且其他任務執(zhí)行是沒問題的,只有這個任務有問題。此外,查了一下可以進 redis 用 LLEN celery 去看隊列積壓情況,但是并沒有這個 key 。我們用的 celery 的版本是 3.1.26.post2,django-celery 的版本是 3.2.2 。大家有遇到過這個問題么?
前沿探索
2020-08-18 03:40:18
idea 等都沒問題,就 pycharm 我是 2020.1 版本的 keymap 用的 eclipse,然后發(fā)現 ctrl+f 用不了,然后我就進去自己配置了。。這幾天發(fā)現 command+鼠標左鍵 也不好使,沒法進去跟蹤源碼。。。大家有這種情況嗎? keymap 用就是初始化的 pycharm 的 eclipse 或者 eclipse(MacOS) 這倆都缺少快捷鍵。。。
前沿探索
2020-08-18 03:40:16
我使用 tornado 做的一個 web api,里面沒有數據庫存儲業(yè)務,主要業(yè)務是調用第三方 web api 接口。 剛開始時使用的是 requests 模塊來做 http 請求,結果發(fā)現并發(fā)稍高一點的時候 nginx 里大量請求超時的日志,后來通過搜索相關資料,發(fā)現 tornado 需要使用異步 httpclient,踩了第一個坑。
后面將請求第三方接口全部替換成 AsyncHTTPClient 后,上述問題立馬解決,并發(fā)能力大大提升,nginx 錯誤日志也沒有了。 再后來根據業(yè)務需求,需要在請求第三方接口的時候使用 proxy,AsyncHTTPClient 不支持 proxy 設置,需要改用 CurlAsyncHTTPClient,按照官方文檔修改好代碼后,又出現了并發(fā)超時問題,將 CurlAsyncHTTPClient 改回 AsyncHTTPClient 問題就消失。
這張圖是使用 AsyncHTTPClient 的時候,服務器運行情況,每個進程有多個子進程。
而當使用 CurlAsyncHTTPClient 或 requests 的時候,每個進程下面就只有一個子進程了,也就產生了并發(fā)瓶頸問題。 [官方文檔提醒] 注意, 如果你正在使用 curl_httpclient, 強力建議你使用最新版本的 libcurl 和 pycurl. 當前 libcurl 能被支持的最小版本是 7.21.1, pycurl 能被支持的最小版本是 7.18.2. 強烈建議你所安裝的 libcurl 是和異步 DNS 解析器 (threaded 或 c-ares) 一起構建的, 否則你可能會遇到各種請求超時的問題。*
按照文檔要求,重新編譯服務器 curl 。c-ares 也支持了,但還是無法解決問題。
以上就是問題的描述了,希望大佬能幫忙提供一下解決思路。
前沿探索
2020-08-18 03:40:13
各位大佬們推薦一下講的比較好的課程或者老師唄,小白想自學 Python,歡迎指教
前沿探索
2020-08-18 03:40:11
先上代碼: import asyncio import aioredis # redis 池 redis_pool = { } # redis 池讀寫鎖 _lock = asyncio.Lock() async def get_db(index:str="0"): global redis_pool await _lock.acquire() # 請求鎖 db = redis_pool.get(index) print(db) if db is None: specify_db = await aioredis.create_redis_pool("redis://localhost",db=int(index)) redis_pool.update({index:specify_db}) _lock.release() # 更新 redis 池完畢,釋放鎖 return specify_db _lock.release() # 不需要生成 redis 連接,立即釋放鎖 return db async def put_json(key:str,value:str,db_index:str="0",expire=-1): db = await get_db(db_index) await db.set(key,value,expire=expire) async def test(): t1 = asyncio.create_task(get_db("0")) t2 = asyncio.create_task(get_db("0")) t3 = asyncio.create_task(get_db("0")) t4 = asyncio.create_task(get_db("0")) t5 = asyncio.create_task(get_db("0")) task_list = [t1, t2, t3, t4, t5] await asyncio.wait(task_list) if __name__ == '__main__': asyncio.get_event_loop().run_until_complete(test())
這是我構建了一個簡易的 aioredis 連接池,如果單純執(zhí)行這個 test 的時候 lock 可以正確使用,但一旦其他異步代碼通過 from import 調用 put_json() 那么 get_db() 就會拋出 ... got Future attached to a different loop ,說 lock.acquire() 和 其他代碼不再同一個事務循環(huán)中
而且查閱源碼看到 asyncio.Lock() 若不指定 loop 循環(huán)就會通過 asyncio.get_event_loop() 得到一個新循環(huán),網上對于 asyncio.Lock 對象資料太少了。只有少量的 demo,demo 中是在 create_task 之前就創(chuàng)建好鎖,然后參數傳遞給異步方法,這樣做對 demo 有效,但對層次太多的代碼很不友好
我現在的問題是我不想從 create_task()前就創(chuàng)建一把鎖然后一直用參數傳遞到 get_db()中,因為這把鎖只針對 redis_pool 的讀寫操作,其他代碼根本不需要這把鎖,還有有什么其他的辦法可以調度協程對某個對象的讀寫嗎
前沿探索
2020-08-18 03:40:08
v2 的跟帖似乎無法用 markdown 語法? 所以就重新開個帖子請教這個問題。。。 # coding=utf-8 import codecs import difflib import os.path import re import time import string import chardet import shutil import copy from concurrent.futures import ProcessPoolExecutor import datetime def PrintCount(PName): if PName == '甲': DelayTime = 0.9 if PName == '乙': DelayTime = 1.2 if PName == '丙': DelayTime = 1.7 if PName == '丁': DelayTime = 2 if PName == '戊': DelayTime = 2.5 countt = 0 while True: countt += 1 time.sleep(DelayTime) print(f'{PName}池:->',f'{countt}') if __name__ == '__main__': StartTime = time.clock() FutureDict = {} FutureRetDict = {} FutureTimeRecoderDict = {} PoolNameList = ["甲", "乙", "丙", "丁", "戊"] # 初始化進程池 for i in range(len(PoolNameList)): # 進程 FutureDict.update({PoolNameList[i]: ProcessPoolExecutor(max_workers=1)}) # 進程 Ret FutureRetDict.update({PoolNameList[i]: futures.Future()}) # 進程啟動時間 FutureTimeRecoderDict.update({PoolNameList[i]: None}) # 模擬測試清空進程池的信號 closeflag = True # 開始工作 while True: ProcessNum = 0 # 增加任務 for ProcessName,FutureRet in FutureRetDict.items(): # 模擬 40 秒后終結 [乙] 進程池 if closeflag == True: if time.clock() - StartTime >= 40: # 在啟動 40 秒后觸發(fā) print(f"開始強制結束 [乙] 進程池") for pid, process in FutureDict['乙']._processes.items(): process.terminate() FutureDict['乙'].shutdown() closeflag = False time.sleep(15) # 如果進程池在運行 if FutureRet.running() == True: pass else: # 增加任務 FutureRetDict[ProcessName] = FutureDict[ProcessName].submit(PrintCount,ProcessName) print(f'{ProcessName} 進程池提交了開始.') time.sleep(2) break time.sleep(3)
40 秒之后,乙進程池的確被停了,但是再向乙進程池提交任務的時候,會提示: 甲池:-> 57 甲池:-> 58 丙池:-> 25 戊池:-> 13 甲池:-> 59 丁池:-> 19 甲池:-> 60 丙池:-> 26 Traceback (most recent call last): File "D:/TestForMu.py", line 80, in FutureRetDict[ProcessName] = FutureDict[ProcessName].submit(PrintCount,ProcessName) File "C:
前沿探索
2020-08-18 03:40:06
winpython 是綠色免安裝的,一直用的不錯,這次在內網中把一臺 WIN7 上的 winpython (可用)拷到另一臺電腦上,在 winpython command prompt 提示符中輸入 python,按回車后無法進入 python 環(huán)境,還是命令行提示符,可能是什么問題?謝謝
前沿探索
2020-08-18 03:40:03
python37 + tkinter一直在報 show_me 函數未定義,但是如果單獨測試就是正常的。 import tkinter from tkinter import ttk , Menu from tkinter import messagebox work_jiemian = tkinter.Tk ()work_jiemian.title("醫(yī)藥銷售計算工具") work_jiemian.geometry('600x500+300+100') work_jiemian.iconbitmap("./img/bitbug_favicon.ico") # 制作菜單 def show_me(): messagebox.showwarning(title="注意",message="導入銷售數據自動計算銷售總額") menu_bar = Menu(work_jiemian) about_menu = Menu(menu_bar) about_menu.add_command(label = "關于這個程序" , command = show_me) work_jiemian.mainloop()
前沿探索
2020-08-18 03:40:01
如我有這么一個表 行為 a,b,c,d,e 列為 A,B,C,D,E 內容都是數字我想使行 a,b,c,d,e 任意(隨意,隨機)組合做相加 滿足比如 A>1,B>2,C>3,D<4,E<5 的幾個條件 或者列出所有滿足條件的組合 可以使用 python 設計一個簡單的程序嗎?有沒什么書籍或者視頻可以參考的?
前沿探索
2020-08-18 03:39:58
現有 a 變量,
a = """ """
因為“coupoen_fee”重復了,通過 xmltodict 轉的 dict 格式為 {'fee_type': 'CNY', 'coupon_fee': ['10', '100']}
期待的格式是 {'fee_type': 'CNY', 'coupon_fee': '10', 'coupon_fee': '100'}
目的是得到 coupon_fee=10&coupon_fee=100&fee_type=CNY
有啥好的辦法嗎?
前沿探索
2020-08-18 03:39:56
big sur 下面,python 無法運行包含了 QT DESIGNER 寫的 ui 文件。 可能是因為系統太新的問題。
或許不是。誰試過。
ps.:同一 py 文件,另一臺電腦可以運行(比 big sur 的版本低一個版本)。
前沿探索
2020-08-18 03:39:53
https://github.com/microsoft/pylance-release
這是一個閉源的插件,功能等同于 Language Server,個人感覺體驗好很多。類型風格非常的 TypeScript,響應速度也很快。
前沿探索
2020-08-18 03:39:51
最近需要用為 Python 項目寫文檔,但是 Sphinx 官方文檔看的我云里霧里,各位能否推薦一個易懂的教程?
最好是手把手一步步的那種。
前沿探索
2020-08-18 03:39:48
建立表的時候是使用了 django 的 model 來建立表,數據庫選擇 sqlite3 anum = models.CharField(max_length=50, default='') # 但是在 sql 語句插入的時候卻報了一個錯, # sqlite3.IntegrityError: NOT NULL constraint failed: table.anum # 但是在建表的時候不是設置了默認值么, 為什么還是需要 anum 這個字段,另外, 使用 mysql 插入數據的時候不會報這個錯誤, 難道非要加個 null=True 么, 另外使用 sqlite3 時候加上 null=True 如果 insert 的時候不傳值就會默認為 null,default 的值就會沒用了,那么應該怎么解決呢
前沿探索
2020-08-18 03:39:45
準備找工作了,先花點時間刷些面試題吧。謝謝分享,可以是鏈接,可以是文件。附 QQ 郵箱:119 。189 。[email?protected] 忽略掉中間多余的符號。
前沿探索
2020-08-18 03:39:43
miniforge 由 conda-forge 在幾個月前開始開發(fā),相當于一個把 conda-forge 作為默認 channel 的 miniconda 。 我的直觀感受是它在 solving environments 的時候比 anaconda/miniconda 快多了。 另一個好處是 miniforge 支持 aarch64,樹莓派 4B 用戶的福音,未來 ARM Mac 也能用。 conda-forge 是社區(qū),和 anaconda 是個公司不一樣,miniforge 會優(yōu)先開發(fā)大家需要的東西。
前沿探索
2020-08-18 03:39:40
最近把以前不會弄多進程時候,寫的單進程的 python 程序,修改成用 concurrent 模塊,使用多進程去運行。。。有個這樣的場景沒有辦法解決: 把封裝好的函數(假如函數叫 executFunc())交給 futures.ProcessPoolExecutor()去執(zhí)行,事實上發(fā)生了嚴重超時,超過了 1000 秒,想去結束它,發(fā)現沒有辦法在主程序流程上,在外部把這個進程所產生的系統進程結束( concurrent 沒有這樣的方法,只能默認一直等?),futures.Future()的.running(),一直返回 Ture 假如 executFunc()創(chuàng)建了 4 個 chrome.exe ,如果把系統中的 chrome.exe 全 kill 了,又會影響到其它的進程。。。。 請問各位高手,遇到這樣的情況,應該如何處理? 或者有什么其它的模塊更好面對這樣的問題? executFunc() 是可以小修改一下 time.clock - startTime > 1000,然后就做些事情的。。。。
前沿探索
2020-08-18 03:39:38
前提是假設了這個字典的 key 和 vlaue,包括嵌套內再 N 層嵌套的,都是 String 類型。。。
根據字典 k,v,sqlalchemy 做自動建臨時表,效率開銷會非常大,而且嵌套再嵌套 N 層的,建表存儲很麻煩。。。
整個字典轉成 String 存進 TEXT ? 取出來再轉成 dict,量多的話,干起來會不會不利索? 想存進去就是一個字段內容,
取出來輕輕松松,不用太啰嗦處理,就是一個 dict 這樣子?
是否有輕輕松松很好的方式?
前沿探索
2020-08-18 03:39:36
hello,小伙伴們,大家好,今天給大家分享的開源項目是: Python-crawler-tutorial-starts-from-zero ,這個開源項目主要寫是分布式爬蟲從零到一,感興趣的小伙伴可以閱讀一下。
目錄

我分享過很多關于 Python 爬蟲入門到精通的開源項目,每個作者的側重點都不一樣,感興趣的小伙伴可以翻閱一下歷史文章,希望可以給你提供一個不錯的選擇。
開源地址: https://github.com/Kr1s77/Python-crawler-tutorial-starts-from-zero
今天的推薦不知道大家喜歡嗎?如果你們喜歡話,請在文章底部留言或點贊,以表示對我的支持,你們的留言,點贊,轉發(fā)關注是我持續(xù)更新的動力哦!
關注公眾號回復:" 1024 ",免費領取一大波學習資源,先到先得哦!
前沿探索
2020-08-18 03:39:33
比如我有一個測試類,第一個 case 會購買一個商品,產生一個訂單號,然后下一個 case 會用到,那么第二個 case 要如何獲取這個訂單號呢
前沿探索
2020-08-18 03:39:31
hello,小伙伴們,大家好,今天給大家推薦的開源項目是: Restore-JS ,這個開源項目主要是做 Python 反爬蟲的,如: 發(fā)布 JS 破解,App 協議分析,Xposed 和 Frida 教程 做爬蟲方向的小伙伴可以了解一下,這個開源項目才剛剛起步,以后會一直更新,感興趣的小伙伴可以持續(xù)關注!?。?
項目目錄


感興趣的小伙伴可以長期關注,加油你可以的?。?!
開源地址: https://github.com/LoseNine/Restore-JS
今天的推薦不知道大家喜歡嗎?如果你們喜歡話,請在文章底部留言或點贊,以表示對我的支持,你們的留言,點贊,轉發(fā)關注是我持續(xù)更新的動力哦!
關注公眾號回復:" 1024 ",免費領取一大波學習資源,先到先得哦!
前沿探索
2020-08-18 03:39:28
GitHub:Python 爬蟲逆向 JS 經驗
hello,小伙伴們,大家好,今天給大家分享的開源項目是: Review_Reverse ,這個開源項目是由 Python 語言編寫的關于 JS 逆向 的相關項目,想了解關于如何做好 JS 逆向 , JS 反爬蟲 的同學可以 clone 一下這個開源項目,做一個參考,說不定可以給你提供一些意向不到的思路。
??目錄


感興趣的小伙伴可以嘗試一下,種好一棵樹??最好的時間是十年前,其次就是現在。
開源地址: https://github.com/lateautumn4lin/Review_Reverse
今天的推薦不知道大家喜歡嗎?如果你們喜歡話,請在文章底部留言或點贊,以表示對我的支持,你們的留言,點贊,轉發(fā)關注是我持續(xù)更新的動力哦!
關注公眾號回復:" 1024 ",免費領取一大波學習資源,先到先得哦!
前沿探索
2020-08-18 03:39:27
用 Python 操作 Appium 滑動小紅書,大概能滑動個幾十次,然后幾分鐘后,屏幕就不動了。真機調試。Appium 就出錯,顯示 ESOCKETTIMEDOUT,具體信息如下: [WD Proxy] Got response with unknown status: {"code":"ESOCKETTIMEDOUT","connect":false} [W3C (ddaa6dba)] Encountered internal error running command: UnknownError: An unknown server-side error occurred while processing the command. Original error: Could not proxy command to remote server. Original error: Error: ESOCKETTIMEDOUT [W3C (ddaa6dba)] at JWProxy.command (/Applications/ Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/jsonwp-proxy/proxy.js:266:13 )我最開始以為是手機端電源管理,殺掉了 Appium 進程,但把所有電源的東西都放開以后,沒有變化。請問有啥解決辦法嗎?
前沿探索
2020-08-18 03:39:23
我以前都是 pip download 下來之后一個個手動安裝, 今天直接試了一下 pip install * 發(fā)現只有在聯網情況下直接安裝, 但是在斷網安裝有的包的時候會直接報錯, 比如說以下包 ['aiocontextvars-0.2.2-py2.py3-none-any.whl', 'argparse-1.4.0-py2.py3-none-any.whl', 'certifi-2020.6.20-py2.py3-none-any.whl', 'chardet-3.0.4-py2.py3-none-any.whl', 'contextvars-2.4.tar.gz', 'EasyProcess-0.3-py2.py3-none-any.whl', 'entrypoint2-0.2.1-py2.py3-none-any.whl', 'idna-2.10-py2.py3-none-any.whl', 'immutables-0.14-cp36-cp36m-manylinux1_x86_64.whl', 'jeepney-0.4.3-py3-none-any.whl', 'loguru-0.5.1-py3-none-any.whl', 'MouseInfo-0.1.3.tar.gz', 'mss-5.1.0-py3-none-any.whl', 'numpy-1.19.0-cp36-cp36m-manylinux2010_x86_64.whl', 'opencv_python-3.4.0.14-cp36-cp36m-manylinux1_x86_64.whl', 'Pillow-7.2.0-cp36-cp36m-manylinux1_x86_64.whl', 'PyAutoGUI-0.9.50.tar.gz', 'PyGetWindow-0.0.8.tar.gz', 'PyMsgBox-1.0.8.tar.gz', 'PyMySQL-0.9.3-py2.py3-none-any.whl', 'pyperclip-1.8.0.tar.gz', 'PyRect-0.1.4.tar.gz', 'pyscreenshot-2.2-py2.py3-none-any.whl', 'PyScreeze-0.1.26.tar.gz', 'python3-xlib-0.15.tar.gz', 'PyTweening-1.0.3.zip', 'requests-2.24.0-py2.py3-none-any.whl', 'selenium-3.141.0-py2.py3-none-any.whl', 'SQLAlchemy-1.3.18-cp36-cp36m-manylinux2010_x86_64.whl', 'threadpool-1.3.2-py3-none-any.whl', 'urllib3-1.25.9-py2.py3-none-any.whl']
斷網安裝 PyMsgBox 的時候還是會連接 pypi, 導致報錯。
那么, 對于大量本地包應該怎么快速安裝呢?
前沿探索
2020-08-18 03:39:21