【问题标题】:Python Syntax Help for Beautiful SoupBeautiful Soup 的 Python 语法帮助
【发布时间】:2015-06-03 21:58:21
【问题描述】:

我在尝试运行一些 Python(Python 3.4)时遇到问题,我希望有人可以帮助我并指出我的代码中的错误。

我正在尝试从网站上筛选黄页电话号码,但我不断收到“语法错误:解析时意外 EOF”,但我没有足够的经验在我的代码中找到错误。

from bs4 import BeautifulSoup

import requests

Company = raw_input("Enter a Company to extract the Phone Number: ")

Location = raw_input("Enter State: ")

r  = requests.get("http://www.yellowpages.com/search?search_terms=" +Company +"&geo_location_terms=" +Location)

# http://www.yellowpages.com/search?search_terms=[Company]&geo_location_terms=[Location]

data = r.text

soup = BeautifulSoup(data)

for link in soup.find_all('a'):
    print(link.get('phones.phone.primary')

【问题讨论】:

  • 我强烈建议使用文本编辑器/IDE,它会自动关闭括号、括号、引号等。生命太短,无法计算括号——这也是我不使用 Lisp 的原因:)跨度>
  • 另外,如果你真的在使用 Python 3.4,那么你对 raw_input() 的调用将不起作用,因为它只存在于 Python 2 中。将其更改为 input(),你将一切就绪。
  • 谢谢大家。我将 raw_input() 更改添加到 input() 并且它的工作更好。我正在使用 Notepad++ 编写我的 python 脚本。大家还有什么推荐的节目吗?我对编程有点陌生
  • 就个人而言,我使用Sublime Text 3,但如果您刚刚开始,您可能会受益于 PyCharm 等 IDE 中的一些功能。环顾四周,尝试不同的,并使用你喜欢的。
  • 谢谢@MattDMO 我会研究 PyCharm :D

标签: python beautifulsoup screen-scraping


【解决方案1】:

您在脚本的最后一行遗漏了一个右括号。应该是:

print(link.get('phones.phone.primary'))

错误消息表示 Python 在查找右括号时到达了文件末尾(“EOF”)。

【讨论】:

  • 谢谢大家。错过了有点尴尬。
  • @TravisGerken 如果这有助于解决您的问题,请通过单击答案旁边的复选标记(将其变为绿色)来考虑accepting。这会将问题标记为具有可接受的答案,并为您和回答者奖励reputation
  • 真的很抱歉。不知道我必须接受它! +接受!
猜你喜欢
  • 2018-04-22
  • 2015-11-27
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-15
  • 2022-08-22
  • 2013-10-21
相关资源
最近更新 更多