node網絡爬蟲實例瞭解下?

今天給你們分享的是node爬蟲,寫得很差的你們多關照,指出javascript

背景交代,如下寫的demo都是參照《python3網絡爬蟲開發實戰》用node實現的,因此demo的具體思路什麼的,你們能夠去看書上的介紹,感興趣的,能夠去了解一波。java

  • [x] 3.4 貓眼電影抓取node

    貓眼電影抓取,沒什麼難點,很是簡單的一個實例。惟一要注意的地方就是正則吧(固然也能夠用cheerio庫來實現更簡單,主要是爲了實踐下不一樣的方式)。由於python3有不少現成的方法,因此當用node去寫的時候,可能要改變一下,具體的能夠看源碼
let re = /<dd>(?:\s.*?)*board-index.*?>(\d+)<\/i>(?:\s.*?)*data-src="(.*?)"(?:\s.*?)*name"><a.*?>(.*?)<\/a><\/p>\s*?<p class="star">\s*?(.*?)\s*?<\/p>(?:\s.*?)*releasetime">(.*?)<\/p>(?:\s.*?)*integer">(.*?)<\/i>.*?fraction">(.*?)<\/i>/g
// 主要是有一個疑問,下面這段代碼主要是判斷文件存不存在,若是不存在的話拋異常再寫入文件,可是總感受這種處理方式有問題,但願能找到更合理的方法
    try {
      fs.accessSync(file_path)
      console.warning('Already Downloaded', file_path)
    } catch (error) {
      response.data.pipe(fs.createWriteStream(file_path))
    }
  • [x] 7.4 淘寶商品python

    這裏主要介紹的就是 puppeteer是 Google Chrome 團隊官方的無界面(Headless)Chrome 工具, 經過puppeteer咱們很容易的模擬用戶的操做
  • [x] 8 圖片驗證碼識別git

    這裏主要注意的就是node-tesseract庫和gm,因爲以前一開始用的是tesseract.js庫,一直報錯能夠看下這兩個問題 issues1issues2,後來改爲node-tesseract就行了,我感受也是由於牆的緣由吧或者是配置的問題
// 可能把路徑指向本地就行了,具體的沒測試,後面再找找問題看
window.Tesseract = Tesseract.create({
    workerPath: '/path/to/worker.js',
    langPath: 'https://cdn.rawgit.com/naptha/tessdata/gh-pages/3.02/',
    corePath: 'https://cdn.rawgit.com/naptha/tesseract.js-core/0.1.0/index.js',
})

後面還會更新其餘的爬蟲demo,但願本文對你有幫助github地址github

相關文章
相關標籤/搜索