mirror of
https://github.com/bellingcat/snscrape.git
synced 2026-06-11 03:48:29 +03:00
Fix crash when Twitter search produces no results (fixes #41)
This commit is contained in:
@@ -37,8 +37,14 @@ class TwitterSearchScraper(snscrape.base.Scraper):
|
|||||||
if withMinPosition:
|
if withMinPosition:
|
||||||
streamContainer = soup.find('div', 'stream-container')
|
streamContainer = soup.find('div', 'stream-container')
|
||||||
if not streamContainer or not streamContainer.has_attr('data-min-position'):
|
if not streamContainer or not streamContainer.has_attr('data-min-position'):
|
||||||
raise RuntimeError('Unable to find min-position')
|
if soup.find('div', 'SearchEmptyTimeline'):
|
||||||
minPosition = streamContainer['data-min-position']
|
# No results found
|
||||||
|
minPosition = None
|
||||||
|
else:
|
||||||
|
# Unknown error condition
|
||||||
|
raise RuntimeError('Unable to find min-position')
|
||||||
|
else:
|
||||||
|
minPosition = streamContainer['data-min-position']
|
||||||
else:
|
else:
|
||||||
minPosition = None
|
minPosition = None
|
||||||
return feed, minPosition
|
return feed, minPosition
|
||||||
@@ -104,6 +110,9 @@ class TwitterSearchScraper(snscrape.base.Scraper):
|
|||||||
else:
|
else:
|
||||||
maxPosition = self._maxPosition
|
maxPosition = self._maxPosition
|
||||||
|
|
||||||
|
if not maxPosition:
|
||||||
|
return
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
logger.info(f'Retrieving scroll page {maxPosition}')
|
logger.info(f'Retrieving scroll page {maxPosition}')
|
||||||
r = self._get('https://twitter.com/i/search/timeline',
|
r = self._get('https://twitter.com/i/search/timeline',
|
||||||
|
|||||||
Reference in New Issue
Block a user