2016-07-06 75 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函数内部,而不是只是随机尝试外部的东西。你也需要指定超过“不成功”。你没有得到任何结果,或者你得到的结果你无法匹配? –

回答