Spider получает разные результаты на Ubuntu и windows - PullRequest
1 голос
/ 07 апреля 2020

Я получаю разные результаты в зависимости от того, запущен ли мой Spider из Ubuntu или из Windows. Код такой же.
Ubuntu запущена на моем облачном сервере. Он может получить количество результатов поиска, но оба получают разные результаты.
Кроме того, при запуске в Ubuntu может произойти сбой. Кто-то сказал мне, что это может быть вызвано поваром ie, но я не понимаю, почему.
Это мой код:


import requests
from bs4 import BeautifulSoup
import json
import re

#
class baidu(object):
    def __init__(self,keyword):
        self.keyword = keyword


    #get result number  
    def GetNumber(self):
        base_url = 'https://www.baidu.com/s?'
        params  = { 'wd':self.keyword,
                   'ie': 'UTF-8',
                }
        headers =  {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36',
                'Host': 'www.baidu.com',
                'is_referer': 'https://www.baidu.com/',
                'Referer': 'https://www.baidu.com/',
                'is_xhr': '1',
                'X-Requested-With': 'XMLHttpRequest',
                'Sec-Fetch-Site': 'same-origin',
                'Connection': 'keep-alive',
                'Sec-Fetch-Mode': 'cors',
                'Cookie': ''
        }


        #,cookies=cookieDict
        content  = requests.get(base_url,params=params,headers=headers)
        #print(content.url)
        content.encoding = 'uft-8'
        try:
            span_content = BeautifulSoup(content.text,'html.parser').find(class_="nums_text").get_text()
        except Exception as e:
            print('fail')
            print(e)
            return 0
        nums = re.findall('\d+',span_content)
        num = int(''.join(nums))
        return num

if __name__ == '__main__':
    keyword = '酒精、小苏打'
    p = baidu(keyword=keyword).GetNumber()
    print(p)

windows:

收起 工具 时间 10 900 000

Ubuntu:

为 您 找到 相关 结果 约 3860 个
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...