Add option to specify proxy

This commit is contained in:
Pierre MINIGGIO
2024-05-10 20:12:06 +02:00
parent cb07c91b62
commit 794f3c8732

View File

@@ -44,6 +44,7 @@ class Twitter_Scraper:
scrape_poster_details=False, scrape_poster_details=False,
scrape_latest=True, scrape_latest=True,
scrape_top=False, scrape_top=False,
proxy=None,
): ):
print("Initializing Twitter Scraper...") print("Initializing Twitter Scraper...")
self.mail = mail self.mail = mail
@@ -64,7 +65,7 @@ class Twitter_Scraper:
self.max_tweets = max_tweets self.max_tweets = max_tweets
self.progress = Progress(0, max_tweets) self.progress = Progress(0, max_tweets)
self.router = self.go_to_home self.router = self.go_to_home
self.driver = self._get_driver() self.driver = self._get_driver(proxy)
self.actions = ActionChains(self.driver) self.actions = ActionChains(self.driver)
self.scroller = Scroller(self.driver) self.scroller = Scroller(self.driver)
self._config_scraper( self._config_scraper(
@@ -119,7 +120,10 @@ class Twitter_Scraper:
self.router = self.go_to_home self.router = self.go_to_home
pass pass
def _get_driver(self): def _get_driver(
self,
proxy=None,
):
print("Setup WebDriver...") print("Setup WebDriver...")
header = Headers().generate()["User-Agent"] header = Headers().generate()["User-Agent"]
@@ -133,6 +137,8 @@ class Twitter_Scraper:
browser_option.add_argument("--disable-notifications") browser_option.add_argument("--disable-notifications")
browser_option.add_argument("--disable-popup-blocking") browser_option.add_argument("--disable-popup-blocking")
browser_option.add_argument("--user-agent={}".format(header)) browser_option.add_argument("--user-agent={}".format(header))
if proxy is not None:
browser_option.add_argument("--proxy-server=%s" % proxy)
# For Hiding Browser # For Hiding Browser
browser_option.add_argument("--headless") browser_option.add_argument("--headless")