最近在練習用scrapy爬文字資料,在爬某問答社群的時候,因為問題有兩級分類:c1,c2,我用乙個列表來儲存分類資訊:item['class'] = [c1,c2]
但是在使用request函式向下一級傳遞item資訊時,使用如下函式
request(href,meta=,callback=self.parse2,dont_filter=true)
卻發現傳遞到parse2中的item['class']的值與傳遞前不同,在傳遞前,我的item['class']值無論是[c1,c2]還是[c1,c3]還是[c1,c4],傳遞後都變為了[c1,c4]。
查詢原因後,發現是因為使用request函式傳遞item時,使用的是淺複製(物件的字段值被複製時,字段引用的物件不會被複製),因此
item
被複製時,
class
字段對應的列表中的值
c1,c2
沒有被複製。
解決方法:
在呼叫request
時使用深複製
import copy
class spider(scrapy.spider)
name=['xx']
start_urls=['xx']
def parse(self,response):
#...
yield request(href,meta=,callback=self.parse2,dont_filter=true)
關於鬧鐘系統中,intent資料傳遞出錯的問題修復
intent intent new intent context,myreceiver.class intent.setaction myreceiver.acion result yes intent.putextra result result pendingintent pi pendingi...
springMVC 引數傳遞出現中文亂碼
springmvc 中所有編碼方式都設定為 utf 8 可還是出現接收引數時出現中文亂碼問題。預設情況下,springmvc的編碼方式是 iso 8859 1 因此,如果引數傳遞如果出現問題,只要將引數轉變為 utf 8 引數即可。如下解決方式 byte bb string str1 request...
SpringBoot 前後端時間傳遞出現誤差
前後端之間傳遞的時間出現了誤差,這個問題主要是由於編碼格式導致的,前端傳回來的是乙個字串,一般來說是springboot是按照預設的方式將字串轉換為date型別的.但是,要是你想要按照你的方式傳遞的話,就會出現一些問題了,比如時間快了或者慢了幾小時啊,一天啊什麼的,這個時候就是要定製自己的編碼方式了...