Ваша страница блокирует python пользовательского агента, пользовательский агент в основном «кто выполняет запрос», устанавливает модуль python поддельный user-agent и добавляет заголовок к запросу, имитирующий, что запроссоздается для другого, такого как Google Chrome, Mozilla и т. д., если вы хотите, чтобы определенный пользовательский агент, я рекомендую вам посмотреть на поддельный пользовательский агент
с urllib
я неНе знаю, как вы добавляете заголовок (вероятно, будет с флагом), но я дам вам простой код с использованием модуля requests
:
import requests
from fake_useragent import UserAgent
ua = UserAgent()
header = {
"User-Agent": ua.random
}
r = requests.get('https://www.zacks.com/stock/quote/MA', headers=header)
r.text #your html code
После этого вы можете использовать beatifull soup с r.text
как вы сделали:
soup = BeautifulSoup(r.text, "lxml")
soup
РЕДАКТИРОВАТЬ:
Если вы хотите сделать это с помощью urllib
, вы можете сделать это:
import urllib
from fake_useragent import UserAgent
ua = UserAgent()
q = urllib.Request('https://www.zacks.com/stock/quote/MA')
q.add_header('User-Agent', ua.random)
a = urlopen(q).read()