首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BeautifulSoup HTTP错误403:禁止-不确定原因

BeautifulSoup HTTP错误403:禁止-不确定原因
EN

Stack Overflow用户
提问于 2021-04-03 02:55:04
回答 2查看 714关注 0票数 0

我使用下面的python程序,当我执行它时,我得到一个HTTP403:禁止的错误。

下面是代码:

代码语言:javascript
复制
import os 
import re
from bs4 import BeautifulSoup
#import urllib.request
#from urllib.request import request, urlopen
from urllib import request
import pandas as pd
import numpy as np
import datetime
import time
import openpyxl


for a in range(0,len(symbols),1):
    """
        Attempt to get past the Forbidden error message.
    """
    #ua = UserAgent()
    url = "https://fintel.io/ss/us/" + symbols[a]
    """
       test urls:
                 https://fintel.io/ss/us/A
                 https://fintel.io/ss/us/BBY'
                 https://fintel.io/ss/us/WMT'
    """

    print("Extracting Values for " + symbols[a] + ".")
    header = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
        }
    try:
            page_request = request.Request(url, headers=header)
            page = request.urlopen(page_request)
            #old page = urllib.request.urlopen(url)
            soup = BeautifulSoup(page, "html.parser", from_encoding="iso-8859-1")

我得到的结果是:

代码语言:javascript
复制
Extracting Values for A.
HTTP Error 403: Forbidden
Extracting Values for BBY.
HTTP Error 403: Forbidden
Extracting Values for WMT.
HTTP Error 403: Forbidden

对如何处理这件事有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2021-04-03 03:03:44

这不是一个BeautifulSoup特定的错误,您想要刮的网站可能受到Cloudflare的反机器人页面的保护。您可以尝试使用刮刀来绕过这个问题。

票数 2
EN

Stack Overflow用户

发布于 2021-04-03 03:10:30

你抱怨的是请求,而不是美丽的汤。该网站拒绝满足您的请求。

当我使用该UA时,它可以正常工作,我收到一个200文档:

代码语言:javascript
复制
$ wget -U 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36' -S https://fintel.io/ss/us/BBY

但是,即使使用'Wget/1.20.3 (darwin19.0.0)‘的UA也很好:

代码语言:javascript
复制
$ wget -S https://fintel.io/ss/us/BBY

看起来你已经做了过多的爬行,你的IP现在被网络服务器封锁了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66927307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档