def test_two_queries_different_results(self): """ Test that url updates work fine """ from search_engine_parser.core.engines.google import Search as GoogleSearch # pylint: disable=import-outside-toplevel from search_engine_parser.core.engines.yahoo import Search as YahooSearch # pylint: disable=import-outside-toplevel gengine = GoogleSearch() yahoo_engine = YahooSearch() gresults = gengine.search(query="Hello From the Other Side") yresults = yahoo_engine.search(query="this is example Bob") for key in gresults[0]: self.assertNotEqual(gresults[0].get(key, "GSearch"), yresults[0].get(key, "Ysearch")) self.assertNotEqual(gresults, yresults)
def test_two_queries_different_results(self): """ Test that url updates work fine """ from search_engine_parser.core.engines.google import Search as GoogleSearch # pylint: disable=import-outside-toplevel from search_engine_parser.core.engines.yahoo import Search as YahooSearch # pylint: disable=import-outside-toplevel gengine = GoogleSearch() yahoo_engine = YahooSearch() gresults = None gresults = None with vcr.use_cassette('fixtures/google-test-diff-synopsis.yaml', record_mode='once'): gresults = gengine.search(query="What's up from this side") with vcr.use_cassette('fixtures/yahoo-test-diff-synopsis.yaml', record_mode='once'): yresults = yahoo_engine.search(query="this is example Bob") for key in gresults[0]: self.assertNotEqual(gresults[0].get(key, "GSearch"), yresults[0].get(key, "Ysearch")) self.assertNotEqual(gresults, yresults)
class EngineBaseTest(unittest.TestCase): """ Testbase for Engines provides tests for engine methods """ @classmethod def vcr_search(cls, *args, **kwargs): with vcr.use_cassette('fixtures/{}-synopsis.yaml'.format(cls.name), record_mode='new_episodes'): cls.results = cls.engine.search(*args, **kwargs) def setUp(self): from search_engine_parser.core.engines.google import Search # pylint: disable=import-outside-toplevel self.engine = Search() @patch('search_engine_parser.core.engines.google.Search.get_results') @patch('search_engine_parser.core.engines.google.Search.get_soup') async def test_urls(self, get_results_mock, get_soup_mock): """ Test that url updates work fine """ await self.engine.search(query="hello", url="google.com.tr") first_url = self.engine._parsed_url.geturl() self.assertTrue(validate_url(first_url)) self.engine.search(query="World", url="https://google.com.tr") second_url = self.engine._parsed_url.geturl() self.assertTrue(validate_url(second_url)) self.assertNotEqual(second_url, first_url) # Test for https://github.com/bisoncorps/search-engine-parser/issues/92 def test_two_queries_different_results(self): """ Test that url updates work fine """ from search_engine_parser.core.engines.google import Search as GoogleSearch # pylint: disable=import-outside-toplevel from search_engine_parser.core.engines.yahoo import Search as YahooSearch # pylint: disable=import-outside-toplevel gengine = GoogleSearch() yahoo_engine = YahooSearch() gresults = gengine.search(query="Hello From the Other Side") yresults = yahoo_engine.search(query="this is example Bob") for key in gresults[0]: self.assertNotEqual(gresults[0].get(key, "GSearch"), yresults[0].get(key, "Ysearch")) self.assertNotEqual(gresults, yresults)
from search_engine_parser.core.engines.yahoo import Search as YahooSearch from search_engine_parser.core.engines.google import Search as GoogleSearch from search_engine_parser.core.engines.bing import Search as BingSearch from search_engine_parser.core.engines.duckduckgo import Search as DuckSearch import csv #Intializing Search Engines g_search = GoogleSearch() y_search = YahooSearch() b_search = BingSearch() d_search = DuckSearch() #Search prompt search_query = input("Enter your search query here: ") search_set = (search_query, 1) search_set2 = (search_query, 2) #Searching for query g_results = g_search.search(*search_set) b_results = b_search.search(*search_set2) d_results = d_search.search(*search_set2) y_results = y_search.search(*search_set) #Create csv file with open('data.csv','w',newline='') as file: #Creating writer writer = csv.writer(file) #Writing each row's header writer.writerow(['Bing','DuckDuckGo','Google','Yahoo']) #Print first 20 links for each search engine (can comment) for i in range(0,21):
type="string", help="Engine: google, yahoo, yandex, bing, ask, all") (option, args) = optparse.parse_args() if option.domin == None and option.engine == None: print(optparse.usage) exit(0) elif option.engine not in ("google", "yahoo", "bing", "ask", "yandex", "all"): os.system('printf "\e[1;31m"') print( "Invalid search engine, try with: google, yahoo, bing, ask, yandex, all" ) exit(0) else: if option.engine == "google": print("[-] Searching in Google:") gsearch = GoogleSearch() gresults = gsearch.search(option.domin, 1) a = {"Google": gresults} for k, v in a.items(): os.system('printf "\e[1;35m"') print(f"-------------{k}------------") #pprint.pprint(a[k]['links']) data_list = (a[k]['links']) data = '\n'.join(data_list) with open("google.txt", "a") as f: f.write(f"-------------{k}------------\n") f.write(data) elif option.engine == "yahoo": print("[-] Searching in Yahoo:") yasearch = YahooSearch() yaresults = yasearch.search(option.domin, 1)
def setUp(self): from search_engine_parser.core.engines.google import Search # pylint: disable=import-outside-toplevel self.engine = Search()
from search_engine_parser.core.engines.google import Search as GoogleSearch from search_engine_parser.core.engines.googlenews import Search as GoogleNewSearch from search_engine_parser.core.engines.yahoo import Search as YahooSearch from search_engine_parser.core.engines.googlescholar import Search as GoogleScholarSearch from search_engine_parser.core.engines.duckduckgo import Search as DuckDuckGoSearch from search_engine_parser.core.engines.ask import Search as AskSearch from search_engine_parser.core.engines.bing import Search as BingSearch from search_engine_parser.core.engines.yandex import Search as YandexSearch from search_engine_parser.core.engines.coursera import Search as CourseraSearch from search_engine_parser.core.base import BaseSearch gsearch = GoogleSearch() gnsearch = GoogleNewSearch() asksearch = AskSearch() bsearch = BingSearch() ydsearch = YandexSearch() ysearch = YahooSearch() ddgsearch = DuckDuckGoSearch() csearch = CourseraSearch() gssearch = GoogleScholarSearch() base_search = BaseSearch() # base_search.clear_cache(all_cache=True) key_words = "marketing marque" try: # gresults = gsearch.search(search_args[0], proxy='http://192.168.2.9:3128') gresults = gsearch.search(key_words)