Есть ли способ изменить количество результатов поиска, которые вы получаете при поиске Google через библиотеку запросов? - PullRequest
0 голосов
/ 28 января 2020

Прямо сейчас, скрипт, который я создал, захватывает 10 результатов. Я хочу увеличить это, скажем, до 50.

Есть ли способ сделать это с библиотекой запросов? Приношу свои извинения за то, что весь код забит вместе. Когда я писал это изначально, я не собирался сотрудничать по этому вопросу, поэтому я пропустил теги комментариев и т. Д. c.

Я не знаю, что печатать сейчас, но сайт говорит это Похоже, мой пост в основном состоит из кода и требует, чтобы я предоставил более подробную информацию. На самом деле это довольно простой вопрос. Не много я могу добавить.

Кто-нибудь знает, как установить параметр для получения 50 результатов на странице вместо значения по умолчанию 10?

Вот код, который я сейчас использую:

    #Check Connection
    def connected_to_internet(url='http://www.google.com/', timeout=5):
        try:
            _ = requests.get(url, timeout=timeout)
        except requests.ConnectionError:
           print("No internet connection. Please connect to the internet and try again.")
           exit()
    connected_to_internet()
    def clearscreen():
        _ = call('clear')
    # desktop user-agent
    USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0"
    # mobile user-agent
    MOBILE_USER_AGENT = "Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36"
    # Query user
    print("What is the article about?")
    query = input()
    done = False
    def animate():
        for c in itertools.cycle(['|','/','-','\\']):
            if done:
                break
            sys.stdout.write('\r'+c)
            sys.stdout.flush()
            time.sleep(0.1)
        sys.stdout.write('\r')

    t = threading.Thread(target=animate)
    t.start()
    print("")
    time.sleep(1)
    clearscreen()
    print("Searching Google for information about: ",query)
    squery = query.replace(' ', '+')
    URL = f"https://google.com/search?q={squery}"
    headers = {"user-agent": USER_AGENT}
    resp = requests.get(URL, headers=headers)
    #First-stage scrape of Google
    if resp.status_code == 200:
        soup = BeautifulSoup(resp.content, "html.parser")
        results = []
    #Grab all the URLs from the first page of SERPS
        for g in soup.find_all('div', class_='r'):
            anchors = g.find_all('a')
            if anchors:
                link = anchors[0]['href']
                title = g.find('h3').text
                item = {
                    link
                }
                results.append(item)
    #Create list of urls and format to enable second scrape
    listurls=str(results)
    listurls=listurls.replace("[","")
    listurls=listurls.replace("{","")
    listurls=listurls.replace("'}","")
    listurls=listurls.replace("'","")
    listurls=listurls.replace("]","")
    qresults=listurls.split(",")
    #Identify the number of URLS for later comparison
    numresults=len(qresults)
...