Skip to content

Commit

Permalink
Adding kwargs filters
Browse files Browse the repository at this point in the history
  • Loading branch information
Arthur Moreira authored and Arthur Moreira committed Oct 3, 2019
1 parent 6e40ea2 commit 056c1c3
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
16 changes: 9 additions & 7 deletions search_engine_parser/core/base.py
Expand Up @@ -76,7 +76,7 @@ def parse_query(query):
:type query: str
:rtype: str
"""
return query.replace(" ", "%20")
return query.replace(" ", "%20").replace(":", "%3A")

@staticmethod
async def get_source(url):
Expand Down Expand Up @@ -123,13 +123,17 @@ async def get_soup(self, url):
html = await self.get_source(url)
return BeautifulSoup(html, 'lxml')

def get_search_url(self, query=None, page=None):
def get_search_url(self, query=None, page=None, **kwargs):
"""
Return a formatted search url
"""
# Some URLs use offsets
offset = (page * 10) - 9
return self.search_url.format(query=query, page=page, offset=offset)
for key, value in kwargs.items():
query += f" {key}:{value}"
parsed_query = self.parse_query(query)
print(self.search_url.format(query=parsed_query, page=page, offset=offset))
return self.search_url.format(query=parsed_query, page=page, offset=offset)

def get_results(self, soup):
""" Get results from soup"""
Expand All @@ -144,7 +148,7 @@ def get_results(self, soup):
search_results = self.parse_result(results)
return search_results

def search(self, query=None, page=None):
def search(self, query=None, page=None, **kwargs):
"""
Query the search engine
Expand All @@ -154,15 +158,13 @@ def search(self, query=None, page=None):
:type page: int
:return: dictionary. Containing titles, links, netlocs and descriptions.
"""
parsed_query = self.parse_query(query)

# Get search Page Results
loop = asyncio.get_event_loop()
soup = loop.run_until_complete(
self.get_soup(
self.get_search_url(
parsed_query, page)))

query, page, **kwargs)))
return self.get_results(soup)

async def async_search(self, query=None, page=None, callback=None):
Expand Down
2 changes: 1 addition & 1 deletion search_engine_parser/core/engines/github.py
Expand Up @@ -48,7 +48,7 @@ def parse_single_result(self, single_result):
lang = stars_and_lang_div.find(
'span', itemprop="programmingLanguage").text
stars = stars_and_lang_div.find('a', class_='muted-link').text.strip()

desc = desc.text
title = "{title}\t {lang}\t Stars-{stars}".format(
title=title, lang=lang, stars=stars)
Expand Down

0 comments on commit 056c1c3

Please sign in to comment.