为什么grequests.get()返回None?

时间:2019-06-05 15:10:34

标签: python web-scraping grequests

我正在尝试自动获取Python中某些供应商的MAC地址。我发现a website确实很有帮助,但是我无法从Python访问其信息。当我运行此命令时:

import grequests

rs = (grequests.get(u) for u in ['https://aruljohn.com/mac/000000'])
requests = grequests.map(rs)
for response in requests:
    print(response)

它打印None。有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

看起来问题只是没有在user-agent中设置headers。我能够request正常工作。我只是使用普通的python request,但它应该可以和grequests一起正常使用。我确实认为您可能想找到一个更活跃的图书馆。您可以签出aiohttp。非常活跃,使用aiohttp的经历非常好。

import requests

from lxml import html

def request_website(mac):
    url = 'https://aruljohn.com/mac/' + mac

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
    }
    r = requests.get(url, headers=headers)
    return r.text

response = request_website('000000')
tree = html.fromstring(response)
results = tree.cssselect('.results p')[0].text
print (results)