我正在尝试使用Python编写一个基本的Twitter抓取工具,尽管我可以使用它来抓取硬编码的术语,但我正在尝试将其设置为从用户输入中获取搜索词。
当我的if / else语句在被询问时接受输入时,它随后无法运行,表明未定义rawinput。 rawinput在if语句中,我在下面包含了我的代码
我应该提到我对Python还是很陌生。
我尝试从if / else中删除rawinput并将其分开,但是发生相同的问题。
userinp = input("Select search type. 1 = tweets. 2 = people")
if userinp == 1:
entry = rawinput
query = u'q='
elif userinp == 2:
entry = rawinput
query = u'f=users&vertical=default&q='
searchurl = baseurl + query + entry
预期结果是用户选择选项1或2,然后要求其输入搜索词。
结果是:
Select search type. 1 = tweets. 2 = people1
Traceback (most recent call last):
File "Scrape.py", line 22, in <module>
userentry = rawinput('enter search term')
NameError: name 'rawinput' is not defined
在此先感谢您的帮助。
答案 0 :(得分:3)
请改用input()
,不要忘记括号!
此外,input()
将您的输入转换为字符串,因此如果if
条件使用整数,则将永远无法满足。考虑用if userinp == '1':
和elif userinp == '2':
代替。
答案 1 :(得分:1)
它应该是raw_input()
而不是原始输入。所以你的代码应该是这样的...
userinp = input("Select search type. 1 = tweets. 2 = people")
if userinp == 1:
entry = raw_input()
query = u'q='
elif userinp == 2:
entry = raw_input()
query = u'f=users&vertical=default&q='
searchurl = baseurl + query + entry