【发布时间】:2011-02-03 14:22:41
【问题描述】:
我想用 Python 解析 Google 搜索结果。一切都很完美,但现在我不断收到一个空列表。以下是以前可以正常工作的代码:
query = urllib.urlencode({'q': self.Tagsinput.GetValue()+footprint,'ie': 'utf-8', 'num':searchresults, 'start': '100'})
result = url + query1
myopener = MyOpener()
page = myopener.open(result)
xss = page.read()
soup = BeautifulSoup.BeautifulSoup(xss)
contents = [x['href'] for x in soup.findAll('a', attrs={'class':'l'})]
这个脚本在 12 月运行良好,现在停止运行。
据我了解,问题出在这一行:
contents = [x['href'] for x in soup.findAll('a', attrs={'class':'l'})]
当我打印内容时,程序返回一个空列表:[]
请任何人帮忙。
【问题讨论】:
-
您是否尝试向正常的谷歌搜索网络界面发出自动请求?如果他们阻止了你,你一点也不应该感到惊讶。使用他们的 API。
-
不是这样:Soup 结果存在,我就是无法解析 Soup。
-
Google 会定期以细微的方式更改首页的布局。如果您致力于解析原始 HTML 的错误想法,您可能只需要在重新设计后弄清楚新属性是什么。倒掉汤,然后寻找新的方法来识别它。
标签: python beautifulsoup