7
7
import requests
8
8
9
9
from pyquery import PyQuery as pq
10
- from MagicGoogle .config import USER_AGENT , DOMAIN , BLACK_DOMAIN , URL_SEARCH , URL_NUM , LOGGER
10
+ from MagicGoogle .config import USER_AGENT , DOMAIN , BLACK_DOMAIN , URL_SEARCH , URL_NEXT , URL_NUM , LOGGER
11
11
12
12
if sys .version_info [0 ] > 2 :
13
13
from urllib .parse import quote_plus , urlparse , parse_qs
@@ -24,7 +24,7 @@ class MagicGoogle():
24
24
def __init__ (self , proxies = None ):
25
25
self .proxies = random .choice (proxies ) if proxies else None
26
26
27
- def search (self , query , language = 'en' , num = None , start = 0 , pause = 2 ):
27
+ def search (self , query , language = None , num = None , start = 0 , pause = 2 ):
28
28
"""
29
29
Get the results you want,such as title,description,url
30
30
:param query:
@@ -46,7 +46,7 @@ def search(self, query, language='en', num=None, start=0, pause=2):
46
46
result ['text' ] = text
47
47
yield result
48
48
49
- def search_page (self , query , language = 'en' , num = None , start = 0 , pause = 2 ):
49
+ def search_page (self , query , language = None , num = None , start = 0 , pause = 2 ):
50
50
"""
51
51
Google search
52
52
:param query: Keyword
@@ -55,14 +55,21 @@ def search_page(self, query, language='en', num=None, start=0, pause=2):
55
55
"""
56
56
time .sleep (pause )
57
57
domain = self .get_random_domain ()
58
- if num is None :
59
- url = URL_SEARCH
58
+ if start > 0 :
59
+ url = URL_NEXT
60
60
url = url .format (
61
- domain = domain , language = language , query = quote_plus (query ))
61
+ domain = domain , language = language , query = quote_plus (query ), num = num , start = start )
62
62
else :
63
- url = URL_NUM
64
- url = url .format (
65
- domain = domain , language = language , query = quote_plus (query ), num = num )
63
+ if num is None :
64
+ url = URL_SEARCH
65
+ url = url .format (
66
+ domain = domain , language = language , query = quote_plus (query ))
67
+ else :
68
+ url = URL_NUM
69
+ url = url .format (
70
+ domain = domain , language = language , query = quote_plus (query ), num = num )
71
+ if language is None :
72
+ url = url .replace ('hl=None&' , '' )
66
73
# Add headers
67
74
headers = {'user-agent' : self .get_random_user_agent ()}
68
75
try :
@@ -82,7 +89,7 @@ def search_page(self, query, language='en', num=None, start=0, pause=2):
82
89
LOGGER .exception (e )
83
90
return None
84
91
85
- def search_url (self , query , language = 'en' , num = None , start = 0 , pause = 2 ):
92
+ def search_url (self , query , language = None , num = None , start = 0 , pause = 2 ):
86
93
"""
87
94
:param query:
88
95
:param language:
0 commit comments