后向引用為啥不能很好地解決呢?你可以試試這樣:
import re
s = "fsuihfwe20170101zjkdowuieru12017-01-01dasjk02017/01/012131"
reg = re.compile(r'(\d{4}([-/]?)\d{2}\2\d{2})', re.VERBOSE)
res = reg.findall(s)其實(shí)無非就是一個(gè)遞歸問題,n*m的矩陣問題,如果橫著走,就轉(zhuǎn)化為n*(m-1)的問題;如果豎著走,就轉(zhuǎn)化為(n-1)*m的問題;如果斜著走,就轉(zhuǎn)化為(n-1)*(m-1)的問題……最終轉(zhuǎn)化為有著確定的勝負(fù)結(jié)果的一行或一列的問題。
你先查看頁面源代碼,如果里面沒有你想要的數(shù)據(jù),就說明這些數(shù)據(jù)都是ajax異步加載的(目前絕大多數(shù)網(wǎng)站數(shù)據(jù)都是異步加載的)。如果是異步加載,你就需要找到那個(gè)ajax的URL,看看所需參數(shù),然后自己模擬請求。
js本來沒有new,需要的人多了,也就有了new
首先我們來看一個(gè)函數(shù)
function Person(n, a, g) {
var obj = {
name: n,
age: a,
gender: g
}
obj.constructor = Person; // 給個(gè)標(biāo)記表示這個(gè)obj由Person生成
// 其他的屬性 obj.blabla....
obj.speak = function () {
console.log(this);
}
return obj;
}
var o = Person(n, a, g)
這個(gè)應(yīng)該挺好懂吧,新建一個(gè)對象然后返回,這個(gè)函數(shù)我們叫工廠函數(shù),就是每次都生成同一種對象然后返回。
后來人們想著,我每次這樣寫其實(shí)挺費(fèi)勁的,有沒有更好的辦法呢。
然后就有了
function Person(n, a, g) {
this.name = n;
this.age = a;
this.gender = g;
this.speak = function () {
console.log(this);
};
}
var o = new Person(n, a, g)
這個(gè)函數(shù)我們就叫構(gòu)造函數(shù),當(dāng)我們使用new Person()時(shí)它執(zhí)行的過程就跟上面的工廠函數(shù)基本是一樣的,不過這個(gè)函數(shù)自動(dòng)幫我們處理了很多事,方便很多。具體可以看new運(yùn)算符
那么不用new的時(shí)候呢?它就是一個(gè)普通函數(shù)。
那么我們回到上面的問題,Object和這個(gè)有什么區(qū)別
上面說了new的時(shí)候會(huì)先新建一個(gè)對象,然后我們的構(gòu)造函數(shù)會(huì)給新建的對象打上標(biāo)記constructor,用來表示這個(gè)對象是由哪個(gè)函數(shù)生成的,所以用new Person()出來的對象顯示的是Person,而new Object()出來的對象就是Object,雖然他們一開始都是對象Object
user.objects.last()
可以得到最后一條數(shù)據(jù),如果沒有在model指定ordering, 就會(huì)按照默認(rèn)排序取最后一條,默認(rèn)一般是用pk做排序。
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 10-21: Body ('禁限行令讓二手車更難出手') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.
json.dumps(data).encode('utf-8')\xa0是一個(gè)空白符,這是它的十六進(jìn)制表示形式。我猜你是把\xa0這個(gè)字符串直接存到了文件中。正確的做法是,存這個(gè)符號(hào)本身。
>>> with open('new.py', 'w') as f:
... f.write('\xa0')
...
1
>>> with open('new.py', 'r') as f:
... content = f.read()
...
>>> content
'\xa0'
如果用文本編輯器打開,只能看到一個(gè)空白符。
numpy/__init__.py里有一句:
from .core import *
然后core/__init__.py里有一句:
from .numeric import *真的是無語了,找了一天的問題。突然想到用cmd來執(zhí)行一下fab命令,結(jié)果就OK了?。?!
可以使用默認(rèn)值,如果取不到就是空list,不會(huì)進(jìn)入循環(huán)
images = item.get('image_list', [])超過int的最大值2147483647
后半段提示很明顯了,"Install eventlet"
pip install eventlet
不了解樓主要怎麼用,如果是在1個(gè)interval 里點(diǎn)1次,總次數(shù)不過1000次,可以用recursion:
import time
import sys
def fun(num):
num=num
time.sleep(2)
print(1) #mouseClick()
num=num-1
if num<=0:
return #或者sys.exit()
else:
fun(num) #return fun(num)
fun(999)
fun(999)#因?yàn)閞ecursion 有l(wèi)imit, 上面執(zhí)行玩就自動(dòng)下面継續(xù)
抱歉,我只會(huì)笨方法。
Python 的recursion 有l(wèi)imit,自行查看。
sys.getrecursionlimit()
如果有需要就多建幾次fun().
都不用加, SQLAlchemy 會(huì)用它選的那個(gè)實(shí)現(xiàn)而已。
個(gè)人猜測一般是客戶端轉(zhuǎn)碼之后傳服務(wù)端,不占用服務(wù)端資源
格式一般是H264編碼的mp4
https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip
# unzip -> cd chromedriver_linux64
from selenium import webdriver
from os import getcwd
from os.path import join
driver = webdriver.Chrome(join(getcwd, 'chromedriver'))
driver.get('http://www.baidu.com')?<=是斷言,斷言常和零寬這個(gè)詞一起出現(xiàn),零寬斷言是在文本的某個(gè)位置判斷這個(gè)位置前面或者后面的字符滿足或者不滿足一些條件,具體是向前還是向后,滿足還是不滿足就和具體的斷言類型相關(guān)了。需要特別注意的是,斷言只是匹配一個(gè)位置,并不匹配一個(gè)具體的字符,所以是零寬。
/^(?<=(?:Chapter|Section)[ t]*)d+$)/這個(gè)正則
Chapter|Section)[ t]*,注意此時(shí)匹配的位置并未發(fā)生改變,還是在字符串的開始;綜上,結(jié)合1,3和4,這個(gè)字符串就是由1到多個(gè)數(shù)字組成的;結(jié)合2,這個(gè)字符串開始的前面還需要匹配一些字符,這明顯是矛盾的,一個(gè)字符串的開始位置前面怎么還會(huì)有字符。所以這個(gè)正則什么也匹配不了。
/(?<=(?:Chapter|Section)[ t]*)d+$)/去掉^以后,這個(gè)正則匹配成功的條件是在字符串中存在這樣一個(gè)位置,這個(gè)位置前面滿足Chapter|Section)[ t]*,后面是1到多個(gè)數(shù)字,然后是字符串的結(jié)尾。
可以考慮用 BeautifulSoup:
import requests
from bs4 import BeautifulSoup
url = 'http://top.chinaz.com/hangye/index_news_3.html'.format(page)
res = requests.get(url)
res.encoding = 'utf-8'
content = res.text
soup = BeautifulSoup(content, 'html5lib')
lst = soup.find_all('h3', class_='rightTxtHead')
for h3 in lst:
print(h3.a['href'], h3.a['title'])
結(jié)果:
/Html/site_qlwb.com.cn.html 齊魯晚報(bào)網(wǎng)
/Html/site_ynet.com.html 北青網(wǎng)
/site_news.cnhubei.com.html 荊楚網(wǎng)新聞?lì)l道
/Html/site_hunantv.com.html 芒果TV
/Html/site_henan100.com.html 河南一百度
/Html/site_pep.com.cn.html 人民教育出版社
/Html/site_cnbeta.com.html cnBeta.COM_中文業(yè)界資訊站
/Html/site_wenming.cn.html 中國文明網(wǎng)
/Html/site_ettoday.net.html ETtoday 東森新聞云
/Html/site_zjstv.com.html 浙江衛(wèi)視官方網(wǎng)站
/Html/site_chengdu.cn.html 成都全搜索
...
我回答過的問題: Python-QA
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。