python中的 .join() 函式經常被大家使用到,之前寫**的時候也被用到過,在這裡提出一下:
這個函式展開來寫應該是str.join(item),join函式是乙個字串操作函式
str表示字串(字元),item表示乙個成員,注意括號裡必須只能有乙個成員,比如','.join('a','b')這種寫法是行不通的
舉個例子:
','.join('
abc')
上面**的含義是「將字串abc中的每個成員以字元','分隔開再拼接成乙個字串」,輸出結果為:
'a,b,c
'
join裡放列表、元組、字典也是可以的
c=';'.join([a,b,c])
>> print(c)
>> '
a;b;c
'
已經python中的extract(),它的主要作用是將陣列展開,鍵名作為變數名,元素值為變數值,可以說為陣列的操作提供了乙個方便的工具
例:from.html
"action.php
" method="
post
">
"text
" name="
username
">
"password
" name="
password
">
"submit
">
在action.php中只要使用extract()函式將$_post全域性資料解開:
action.php
<?phpextract($_post);
//相當於$username = $_post['username'];
//$password = $_post['password'];
?>
還有當時在寫scrapy框架看**時偶然看到的乙個寫法:
sentences=[y for x in sentences for y in x]
之前沒看到過,一頭霧水,經過查資料後發現是這樣去理解的:
def f(z):
for y in z:
for x in y:
yield x
英文描述:[item for sublist in list for item in sublist]
也就是:子列表中專案的子列表專案
效果展示:
> # flatten a list using a listcomp with two 'for'
> vec = [[1,2,3], [4,5,6], [7,8,9]]
> [num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
作用:將列表展平
當然還有更高階的用法:
[(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
它等價於:
scrapy 框架之post請求
通常 通過 實現對某些表單字段 如資料或是登入介面中的認證令牌等 的預填充。使用scrapy抓取網頁時,如果想要預填充或重寫像使用者名稱 使用者密碼這些表單字段,可以使用formrequest,可以使用 formrequest.from response 方法實現。formrequest類 引數 同...
Python之scrapy框架爬蟲
scrapy命令詳解 可能是如今最全最簡單的scrapy命令解釋 明天上班,又要爬 現在每天做的工作有50 的時間爬 40 的時間清理資料,10 寫報告。若想自學資料分析,側重點很重要,我當初把大部分經歷放在了python的pandas numpymatplotlib上面,其他時間一部分放在sql身...
scrapy爬蟲框架之ImagePipeline
item pipeline item在spider中獲取後,將傳送到item pipeline中,執行對item的後續處理。每個item pipeline元件實現了簡單方法,它們接收item並執行一些操作,決定丟棄item還是讓其通過pipeline。item pipeline的作用 當然,你也可以...