Saya tidak tahu mengapa pengkodean mesin pencari utama sekarang berbeda. Tentu saja, ini baik GB2312 atau UTF-8. Masalah pengkodean adalah sakit kepala ... sangat merepotkan ...
Kami memperoleh kata kunci, yang biasanya dianalisis melalui URL halaman kunjungan. Misalnya
http://www.google.com/search?hl=zh-cn&q=%e5%AD%A4%E7%8B%AC&lr=
Anda semua tahu bahwa ini dikodekan melalui urlencode.
Kita harus melalui 2 langkah untuk mendapatkan informasi. Langkah pertama adalah melakukan urldecode. Ketika kita hidup dengan parameter biasa, ini dilakukan oleh ASP itu sendiri, tetapi sekarang kita harus melakukan decoding manual.
Ada banyak fungsi online, tetapi semuanya menyelesaikan GB2312.UTF-8 untuk halaman GB2312. Untuk ini, kita dapat dengan mudah memecahkan kode terlebih dahulu, dan kemudian menilai pengkodeannya berdasarkan mesin pencari. Jika UTF-8, itu akan dikonversi menjadi GB2312.
Tetapi karena situs web saya adalah halaman UTF-8. Dan halaman UTF-8 saya hanya menemukan pengkodean Urldecode yang memecahkan karakter UTF-8. Saya berhenti di sini untuk waktu yang lama, dan pada akhirnya saya hanya bisa menggunakan metode terburuk untuk mengirimkan kata kunci split ke halaman ASP dari GB2312 menggunakan XMLHTTP, dan kemudian hidup dalam kode kacau (GB2312) dan kemudian mengonversi GB2312 ToutF-8.
Kode implementasi utama berikut.
Kata kunci pencarian publicFunctionGetSearchKeyWord (RefererUrl) '
ifrefererurl = orlen (refererUrl) <1thenexitfunction
OnerrorresumeNext
Dimre
Setre = newregexp
re.ignorecase = true
re.global = true
Dima, B, J.
'Kata kunci pencarian fuzzy, metode ini lebih cepat dan memiliki jangkauan yang lebih besar
re.pattern = (word = ([^&]*) | q = ([^&]*) | p = ([^&]*) | query = ([^&]*) | name = ([^&]*) | _SearchKey = ([^&]*) | Baidu.*? W = (^&]*)))
Seta = re.execute (RefererUrl)
Ifa.count> 0then
Setb = a (a.count-1) .submatches
Forj = 1tob.count
Iflen (b (j))> 0then
Ifinstr (1, RefererUrl, Google, 1) lalu
GetSearchKeyWord = trim (u8decode (b (j)))
ElseIfinstr (1, Refererurl, Yahoo, 1) Lalu
GetSearchKeyWord = trim (u8decode (b (j)))
ElseIfinstr (1, Refererurl, Yisou, 1) Lalu
GetSearchKeyWord = trim (getKey (b (j)))
elseifinstr (1, refererurl, 3721,1) Lalu
GetSearchKeyWord = trim (getKey (b (j)))
kalau tidak
GetSearchKeyWord = trim (getKey (b (j)))
endif
Fungsi keluar