Cái trang bachkhoatoanthu.gov.vn hoá ra cũng có từ điển trực tuyến. Buồn cho mình lạc hậu :-(. Vì là bách khoa toàn thư nên có nhiều lĩnh vực, riêng lĩnh vực ngôn ngữ học có 813 mục từ. A lê, cào thôi!
for i in `seq 1 9`; do wget http://dictionary.bachkhoatoanthu.gov.vn/default.aspx?param=10D0Z3JvdXBpZD0yMiZraW5kPSZrZXl3b3JkPQ==\&page="$i" -O index-"$i".html; done
grep -h 'Search1_rptWord' index*.html | \
sed -r -e "s/<\/?(span|strong)[^>]*>//g" \
-e "s/\s+<a id=\"[a-zA-Z0-9_]+\" href=\"(.*)\">(.*)<\/a>.*/\2\t\1/g" \
-e "s/&/\&/g" -e "s/<\/?[a-z]+[^>]*>//g" \
> list.txt
sed -r "s/^(.*)\t.*$/\1/g" list.txt > wordlist.txt
sed -r "s/^.*\t(.*)$/\1/g" list.txt > links.txt
mkdir raw && cd raw
wget -B http://dictionary.bachkhoatoanthu.gov.vn -i ../links.txt
grep -rh "<td style=\"padding-top:10px\"><font color='red'>" . > ../raw-data.html
cd ..
sed -r -e "s/<(\/?|\??)(a|meta|font|span|xml|img|A|META|FONT|SPAN|XML|IMG)[^>]*>//g" \
-e "s/<\/?[a-zA-Z0-9]+:[a-zA-Z0-9]+[^>]*>//g" \
-e "s/^\s+//g" \
-e "s/\s+/ /g" \
-e "s/<([a-zA-Z]+) [^>]*>/<\1>/g" \
-e "s/<([a-zA-Z]+)>\s+/<\1>/g" \
-e "s/\s+<\/([a-zA-Z]+)>/<\/\1>/g" \
-e "s/(\s+)?:(\s+)?/: /g" \
-e "s#/\s?(-?[a-zA-Z]+-?)\s?/#/\1/#g" \
-e "s#<([a-zA-Z]+)>\s+?</\1>##g" raw-data.html \
> raw-data-1.html
Khẹc, vẫn chưa xong. Lúc nào rảnh thì tách tiếp, điên nhất là các mục từ toàn là chữ in hoa.