你能找到接口最好抓接口。找不到就selenium。
我最近在抓一個動態(tài)頁面,開始準(zhǔn)備selenium的,但研究了它的接口,發(fā)現(xiàn)是加密的,然后我去js中找加密代碼,發(fā)現(xiàn)秘鑰硬編碼在html中,所以輕松抓到接口了。tx的產(chǎn)品我也研究過,太難啦,代碼混淆的,天知道怎么加密的。
原來是setuptools惹的禍。。。。
之前安裝某個軟件時報錯說需要setuptools_hg,于是通過命令pip install setuptools_hg進行了安裝,之后再進行其他包的安裝時,會提示Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages,以為不關(guān)setuptools什么事,其實。。單獨安裝一次setuptools之后報錯就消失了。。。
安裝問題是解決了,但還不懂為什么setuptools_hg會造成這樣的困擾。。。有知道的大牛請告知。。。。
import re
data = '''
redis = {
host = "127.0.0.1",
port = 6379,
}
'''
pattern = re.compile('(redis = {(.*?)})', re.S)
result = pattern.findall(data)[0][0]
print(result)一樓的是一種方式,另外一種是在代碼里面申明:
driver = webdriver.PhantomJS(executable_path="path")
一個先是線程池,一個是進程池,區(qū)別還是很大的吧。
另外threadpool是第三方的庫(作者已經(jīng)不支持庫更新了),而Pool是內(nèi)置的庫,從2.7到3.*都支持
明顯不一樣的,git操作好好看看:https://git-scm.com/book/zh/v2/
這是因為頁面剛打開的時候還沒有計算出顯示區(qū)域的大小,預(yù)設(shè)了一個大小,而這個尺寸比實際的略大
https://docs.python.org/2/lib...
l + t 對應(yīng)的是 l.__add__(t) ,而 l += t 對應(yīng)的是 l.__iadd__(t) ,實現(xiàn)可以是不同的。
另外,你偶然看到的那段代碼,如果不是用來說明 __iadd__ 或者講解其它語法層面的東西,而是業(yè)務(wù)系統(tǒng)中用的話,就是坨屎。
會不會在你 select count(*) 之后,insert之前,別的線程插入了該數(shù)據(jù)呢?
要不你多打印點日志,看看問題出在哪。
另外,你可以試試:設(shè)置一下 唯一性約束,然后使用:
insert ... on duplicate key update ...
來操作:無則插入,有則更新
def compare(a, b):
c, d = b.split('_'), {}
if len(a) != len(c):
return False
for i in range(len(a)):
if d.get(a[i], c[i]) != c[i]:
return False
d[a[i]] = c[i]
return True
compare('aabb', '北京_北京_上海_上海')
python wrapper for tshark:
https://pypi.python.org/pypi/...
redis.sh 最后一個redis-server不用&。
腳本里每個進程都放后臺執(zhí)行,那bash執(zhí)行到最后就退出了,容器也就退出了。
隊列Queue不能直接創(chuàng)建,而需要從Manager獲得, 這樣才能在子進程里共享
#-*- coding=utf-8 -*-
import os,time,random
from multiprocessing import Process,Pool,Queue,Manager
def pidprint(st):
print("pid(%s): %s" % (os.getpid() , st))
def write(q):
pidprint("start write")
while True:
q.put(time.strftime("%H:%M:%s",time.localtime()))
time.sleep(1)
def read(q):
pidprint("start read")
while True:
pidprint(q.get(True))
if __name__ == '__main__':
manager = Manager()
q = manager.Queue()
p = Pool(2)
p.apply_async(read,args=(q,))
p.apply_async(write,args=(q,))
time.sleep(2)
p.close()
p.join()
print('end')
程序會輸出
pid(32157): start read
pid(32158): start write
pid(32157): 21:55:1516974937
pid(32157): 21:55:1516974938
pid(32157): 21:55:1516974939
......
這要看這套API了,看它支持不支持多線程多進城調(diào)用,如果它管理不好它使用的資源,就需要你幫他管理啦。
https://stackoverflow.com/que...
這里告訴你,需要手動源碼編譯一波
你都會寫這么多了,紅圈部分不至于不會寫吧。
x1, y1 = p1
x2, y2 = p2
先檢查拼接后的新網(wǎng)址有沒有問題?手動在瀏覽器中能不能打開。
Pycharm 支持remote interpreter, 設(shè)置之后可以使用遠(yuǎn)程的Python環(huán)境進行調(diào)試,遠(yuǎn)程環(huán)境的代碼補全和聯(lián)想也是支持的。
配置方式可以參考:https://www.jetbrains.com/hel...
那就是你域名解析的問題,和nginx沒關(guān)系。你的域名的NS如果在國外可能會造成解析速度慢,客戶端使用的dns服務(wù)器慢也會影響解析速度。
根據(jù)你的截圖,submit 按鈕并沒有被選中,應(yīng)改成
-submit = driver.find_element_by_css_selector('input[class="bn-submit"]') # 獲取提交按鈕
+submit = driver.find_element_by_css_selector('input[class="btn-submit"]') # 獲取提交按鈕北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。