2016-07-06 74 views
0

我已經寫了爲了得到我的wordlist每個字的搜索結果數以下腳本的結果:搜索兵結果與編碼問題

with open ("C:\wordslist.txt") as f: 
    lines = f.readlines() 

def bingSearch(word): 
    r = requests.get('http://www.bing.com/search', 
       params={'q':'"'+word+'"'} 
       ) 
    soup = BeautifulSoup(r.text, "html.parser") 
    return (soup.find('span',{'class':'sb_count'})) 

matches = [re.search(regex,line).groups() for line in lines] 
for match in matches:  
    searchWord = match[0] 
    found = bingSearch(searchWord) 
    print (found.text) 

它工作得很好,我得到準確的結果,除了包含特殊字符的單詞外,例如:"número"

如果我打電話給bingSearch("número"),我會得到一個準確的結果。 如果我打電話給(打印match[0]得到"número"),我得到一個不準確的結果。

我試過像str(match[0]),match[0].encode(encoding="UTF-8")這樣的東西,但沒有成功。

任何想法?

+0

您是否嘗試過檢查發生了什麼事情過線?也就是說,你是否嘗試過使用一些網絡嗅探工具或跟蹤工具,或者任何能夠告訴你傳出的HTTP GET請求是什麼樣子的東西?看起來像你需要調試你的bingSearch函數內部,而不是隻是隨機嘗試外部的東西。你也需要指定超過「不成功」。你沒有得到任何結果,或者你得到的結果你無法匹配? –

回答