顯示具有 軟體 標籤的文章。 顯示所有文章
顯示具有 軟體 標籤的文章。 顯示所有文章

2017年12月12日 星期二

如何使用shell script到工會網站下載廠商名錄


首先到工會網站找到可以搜尋廠商名錄的地方
用全部搜尋的方式把所有的廠商列表出來
他會自動分頁沒關係
找到url query string的規則,或許是加上&page=頁數
就可以列出該頁的搜尋結果


#!/bin/sh
for ((i=131 ; i<324 ; i++)); do
wget -r --accept "CompanyDetail*" "http://www.teemab2b.com.tw/FindPdtCmp.aspx?key=&kind=company&pro=company%2ccompanyKeyword&culture=zh-TW&page=$i"
done

然後用wget的方式
利用不同的query string
把網頁一頁頁抓下來
只要搜尋結果的頁面
因此可以用「白名單」的方式限制抓取對象

#!/bin/bash

#`ls CompanyDetail*`
for i in CompanyDetail*; do
  #echo $i
  name="$(grep ContentPlaceHolder_Main_Label_companyName "$i" | sed 's/^.*">//g' | sed 's/<.*$//g')"
  tel="$(grep ContentPlaceHolder_Main_Label_CmpTel "$i" | sed 's/^.*">//g' | sed 's/<.*$//g')"
  url="$(grep ContentPlaceHolder_Main_HyperLink_url "$i" | sed 's/^.*">//g' | sed 's/<.*$//g')"
  addr="$(grep ContentPlaceHolder_Main_Label_Addr_Cht "$i" | sed 's/^.*">//g' | sed 's/<.*$//g')"
  echo -e $name '\t' $tel '\t' $addr '\t' $url
done

最後將結果存成tab分開的csv
對mac的excel來說這樣的csv匯入會讓中文變亂碼
因此還要用「文字編輯」打開這個csv
再另存成utf-16編碼的文字檔
這樣就可以將結果以excel來呈現了