Python Веб-парсинг: urllib.request.urlopen зависает - PullRequest
1 голос
/ 25 мая 2020


Я пытаюсь очистить веб-сайт, используя следующий код.
Однако функция никогда не возвращается (подозреваю, потому что роботы заблокированы на сайте). Есть ли обходные пути?

import urllib.request
url = "https://www.nseindia.com/option-chain"
req = urllib.request.Request(
    url, 
    data=None, 
    headers={
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
    }
)
response = urllib.request.urlopen(req)
html = response.read()
print(html)

1 Ответ

0 голосов
/ 25 мая 2020

Работает, если вы измените user-agent (я использовал почтальон):

import urllib.request
url = "https://www.nseindia.com/option-chain"
req = urllib.request.Request(
    url, 
    data=None, 
    headers={
        'User-Agent':"PostmanRuntime/7.6.0"
    }
)
response = urllib.request.urlopen(req)
html = response.read()
print(html)
...