沉迷學習的最近

2019.5.7
梳理一下最近空餘時間學習的東西,這幾天需求不是很急,有待改動,所以在學習一些想學的東西
1.node.js
我選擇的是看視頻,學習了一下使用node.js來爬取數據
簡單寫寫一個爬圖片的代碼:
const fs = require(‘fs’);
const url = require(“url”)
function GetUrl(sUrl,suc){
var urlObj = url.parse(sUrl)
var http = ‘’
if(urlObj.protocol == “http:”){
http = require(“http”)
}else{
http = require(“https”)
}
let req = http.request({
“hostname”:urlObj.hostname,
“path”:urlObj.path
},res=>{
var arr = []
res.on(‘data’,buffer=>{
arr.push(buffer)
});
res.on(“end”,()=>{
let b = Buffer.concat(arr)
suc && suc(b)
})
})
req.end()
req.on(“error”,()=>{
console.log(“404040404040404”)
})
}
GetUrl(‘https://bj.bcebos.com/v1/baikebcs/adpic/活力報告推廣位.png’,data=>{
fs.writeFile(‘1.jpg’,data,()=>{})
})
這是我隨意在網上找的一個圖片的地址,然後利用node把他爬取下來下載到我的文件夾裏。GetUrl是封裝了一個方法,然後利用url.parse.protocol來查看協議是http還是https,最後使用http.request來爬取,這邊res.on(‘data’,buffer=>{}),buffer是一個二進制文件,然後結束監聽的時候 let b = Buffer.concat(arr) 用來轉換真正的二進制文件,然後就可以把b傳到suc函數裏,也就是GetUrl的回調,在通過fs.writeFile方法 就可以把圖片爬下來。
這是普通網站的方法,還有一個神奇的網站是例外。那就是------淘寶
淘寶對鏈接進行9次重定向,真的恐怖,如果按上述方法,會出現報錯302\301,那麼就只有添加判斷咯,這邊可以寫一個遞歸的方法,什麼是遞歸?就是自己調用自己。
這邊用到res的一個參數,就是statusCode 如果是200就執行上述就完事了,如果是302,301就代表重新定向了,你就需要去找他返回給你的新的url再去爬。這麼反覆9次之後,你就可以爬到淘寶的頁面了。如果你想看,可以打印一下 console.log(res.statusCode,res.headers.location)
後面的headers.location就是重定向之後返回給你的url,你需要手動換成這個url然後繼續請求。這裏面呢有個方法可以不用這麼麻煩,就是遞歸。
我們可以在回調裏添加判斷,else if(res.statusCode == 302 || res.statusCode == 301){
console.log(這是第${index}次重定向)
GetUrl(res.headers.location,suc)
}
這裏我還是加了一個index來看看淘寶重定向了幾次。OK咯,運行
可以發現在這裏插入圖片描述
9次重定向,終於找到了真的淘寶頁面數據。只能說一句,淘寶牛皮。之後比較深的東西我也不懂,還在繼續學習中。。。

2.休息的時候看到一個笑話,就是商家跟消費者的消息,如果想退訂,倒序回覆下面的代碼,感覺有意思,可以寫個方法
var reverse = function( str ){
return str.split(’’).reverse().join(’’);
};
var string = ‘iloveyou’
reverse(string) // uoyevoli
這可難不倒程序員

3.看了一些提升幸福感的js小技巧
下面是鏈接
https://juejin.im/post/5ccf929fe51d453b80712815
雖然我有些也沒有看懂。
4.學習了一下vue的插槽用法,以前是不敢用,也不太懂,現在終於明白怎麼用了
比如我定義一個child組件
在這裏插入圖片描述
你在父組件裏調用在這裏插入圖片描述
是這麼顯示的:在這裏插入圖片描述
可以注意到,slot這裏面的東西調用的時候默認展示出來了
在看一種用法
在父組件裏調用:在這裏插入圖片描述
這時候渲染出來是這樣的:在這裏插入圖片描述
可以看到 我在父組件調用child的時候,如果在裏面加了自定義的標籤,或者是別的組件的時候,是會覆蓋子組件裏的slot內的內容的,這就是slot的用法,當然還有一種用name來覆蓋的方法,就不贅述。
看這個問題的原因是來自有位朋友說了這種組件是怎麼封裝的在這裏插入圖片描述
5.昨天同事還跟我說了一下webpack的alias設置,現在是終於懂了路徑的問題,配置的地方在這裏
在這裏插入圖片描述
還有一些零碎的東西,記得不是很清楚了,下次在寫吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章