GetOldTweets3-HTTP请求期间发生错误:HTTP错误404:未找到

问题描述

嗨,我在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问题。

https://github.com/Mottl/GetOldTweets3/issues/98