问题描述
嗨,我在openSuse上,当我尝试根据用户名抓取推文时,它显示我“ HTTP请求期间发生错误:HTTP错误404:未找到。请尝试在浏览器中打开:https://twitter.com/search?q=%20from%3Agoogle&src=typd”
给出的链接将我定向到非404网站。
我的代码是:
import GetoldTweets3 as got
import pandas as pd
username = 'google'
count = '10'
tweetCriteria = got.manager.TweetCriteria().setUsername(username).setMaxTweets(count)
tweets = got.manager.TweetManager.getTweets(tweetCriteria)
它给了我这些错误:
ERROR:root:Internal Python error in the inspect module.
Below is the traceback from this internal error.
An error occured during an HTTP request: HTTP Error 404: Not Found
Try to open in browser: https://twitter.com/search?q=%20from%3Agoogle&src=typd
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/GetoldTweets3/manager/TweetManager.py",line 343,in getJsonResponse
response = opener.open(url)
File "/usr/lib64/python3.6/urllib/request.py",line 532,in open
response = meth(req,response)
File "/usr/lib64/python3.6/urllib/request.py",line 642,in http_response
'http',request,response,code,msg,hdrs)
File "/usr/lib64/python3.6/urllib/request.py",line 570,in error
return self._call_chain(*args)
File "/usr/lib64/python3.6/urllib/request.py",line 504,in _call_chain
result = func(*args)
File "/usr/lib64/python3.6/urllib/request.py",line 650,in http_error_default
raise HTTPError(req.full_url,hdrs,fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/IPython/core/interactiveshell.py",line 3343,in run_code
exec(code_obj,self.user_global_ns,self.user_ns)
File "<ipython-input-1-656ba958b174>",line 9,in <module>
tweets = got.manager.TweetManager.getTweets(tweetCriteria)
File "/usr/lib/python3.6/site-packages/GetoldTweets3/manager/TweetManager.py",line 65,in getTweets
json = TweetManager.getJsonResponse(tweetCriteria,refreshCursor,cookieJar,proxy,user_agent,debug=debug)
File "/usr/lib/python3.6/site-packages/GetoldTweets3/manager/TweetManager.py",line 348,in getJsonResponse
sys.exit()
SystemExit
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/IPython/core/ultratb.py",line 1169,in get_records
return _fixed_getinnerframes(etb,number_of_lines_of_context,tb_offset)
File "/usr/lib/python3.6/site-packages/IPython/core/ultratb.py",line 316,in wrapped
return f(*args,**kwargs)
File "/usr/lib/python3.6/site-packages/IPython/core/ultratb.py",line 350,in _fixed_getinnerframes
records = fix_frame_records_filenames(inspect.getinnerframes(etb,context))
File "/usr/lib64/python3.6/inspect.py",line 1490,in getinnerframes
frameinfo = (tb.tb_frame,) + getframeinfo(tb,context)
AttributeError: 'tuple' object has no attribute 'tb_frame'
---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
/usr/lib/python3.6/site-packages/GetoldTweets3/manager/TweetManager.py in getJsonResponse(tweetCriteria,useragent,debug)
342 try:
--> 343 response = opener.open(url)
344 jsonResponse = response.read()
/usr/lib64/python3.6/urllib/request.py in open(self,fullurl,data,timeout)
531 meth = getattr(processor,meth_name)
--> 532 response = meth(req,response)
533
/usr/lib64/python3.6/urllib/request.py in http_response(self,response)
641 response = self.parent.error(
--> 642 'http',hdrs)
643
/usr/lib64/python3.6/urllib/request.py in error(self,proto,*args)
569 args = (dict,'default','http_error_default') + orig_args
--> 570 return self._call_chain(*args)
571
/usr/lib64/python3.6/urllib/request.py in _call_chain(self,chain,kind,meth_name,*args)
503 func = getattr(handler,meth_name)
--> 504 result = func(*args)
505 if result is not None:
/usr/lib64/python3.6/urllib/request.py in http_error_default(self,req,fp,hdrs)
649 def http_error_default(self,hdrs):
--> 650 raise HTTPError(req.full_url,fp)
651
HTTPError: HTTP Error 404: Not Found
During handling of the above exception,another exception occurred:
SystemExit Traceback (most recent call last)
[... skipping hidden 1 frame]
<ipython-input-1-656ba958b174> in <module>
8
----> 9 tweets = got.manager.TweetManager.getTweets(tweetCriteria)
/usr/lib/python3.6/site-packages/GetoldTweets3/manager/TweetManager.py in getTweets(tweetCriteria,receiveBuffer,bufferLength,debug)
64 while active:
---> 65 json = TweetManager.getJsonResponse(tweetCriteria,debug=debug)
66 if len(json['items_html'].strip()) == 0:
/usr/lib/python3.6/site-packages/GetoldTweets3/manager/TweetManager.py in getJsonResponse(tweetCriteria,debug)
347 print("Try to open in browser: https://twitter.com/search?q=%s&src=typd" % urllib.parse.quote(urlGetData))
--> 348 sys.exit()
349
SystemExit:
During handling of the above exception,another exception occurred:
TypeError Traceback (most recent call last)
[... skipping hidden 1 frame]
/usr/lib/python3.6/site-packages/IPython/core/interactiveshell.py in showtraceback(self,exc_tuple,filename,tb_offset,exception_only,running_compiled_code)
2036 'the full traceback.\n']
2037 stb.extend(self.InteractiveTB.get_exception_only(etype,-> 2038 value))
2039 else:
2040 try:
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in get_exception_only(self,etype,value)
821 value : exception value
822 """
--> 823 return ListTB.structured_traceback(self,value)
824
825 def show_exception_only(self,evalue):
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in structured_traceback(self,evalue,etb,context)
700 chained_exceptions_tb_offset,context)
701 + chained_exception_message
--> 702 + out_list)
703
704 return out_list
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in structured_traceback(self,value,tb,number_of_lines_of_context)
1434 self.tb = tb
1435 return FormattedTB.structured_traceback(
-> 1436 self,number_of_lines_of_context)
1437
1438
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in structured_traceback(self,number_of_lines_of_context)
1334 # Verbose modes need a full traceback
1335 return VerboseTB.structured_traceback(
-> 1336 self,number_of_lines_of_context
1337 )
1338 elif mode == 'Minimal':
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in structured_traceback(self,number_of_lines_of_context)
1191
1192 formatted_exception = self.format_exception_as_a_whole(etype,-> 1193 tb_offset)
1194
1195 colors = self.Colors # just a shorthand + quicker name lookup
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in format_exception_as_a_whole(self,tb_offset)
1148
1149
-> 1150 last_unique,recursion_repeat = find_recursion(orig_etype,records)
1151
1152 frames = self.format_records(records,last_unique,recursion_repeat)
/usr/lib/python3.6/site-packages/IPython/core/ultratb.py in find_recursion(etype,records)
449 # first frame (from in to out) that looks different.
450 if not is_recursion_error(etype,records):
--> 451 return len(records),0
452
453 # Select filename,lineno,func_name to track frames with
TypeError: object of type 'nonetype' has no len()
我该如何解决?请帮忙!
解决方法
由于Twitter API的最新更新,这是一个问题。您可能需要查看有关Github的getoldtweets3问题。