Python 解析受bot保护的站点

Python 解析受bot保护的站点,python,parsing,web-scraping,Python,Parsing,Web Scraping,我正在尝试解析网站“https://ih.advfn.com/stock-market/NYSE/gen-electric-GE/stock-price并从董事会提取其最新信息。它受云flare的bot保护。我正在使用python及其相关库,这就是我目前所拥有的 from bs4 import BeautifulSoup as soup #parses/cuts the html import cfscrape import requests url = 'https://ih.advfn.c

我正在尝试解析网站“https://ih.advfn.com/stock-market/NYSE/gen-electric-GE/stock-price并从董事会提取其最新信息。它受云flare的bot保护。我正在使用python及其相关库,这就是我目前所拥有的

from bs4 import BeautifulSoup as soup #parses/cuts  the html
import cfscrape
import requests
url = 'https://ih.advfn.com/stock-market/NYSE/gen-electric-GE/stock- 
price'

r=requests.get(url)
html = soup(r.text, "html.parser")
containers = html.find("div",{"id":"bbPosts"})
print(containers.text.strip())
我无法使用html解析器,因为网站会检测并阻止我的脚本。 我的问题是: 如何解析网页以提取表数据


请允许我提一下,这是我参加的安全课程。我没有出于恶意原因使用此功能。

有多种绕过站点保护的方法。你必须清楚地看到他们是如何阻止你的

阻止请求的一种常见方法是查看
用户代理
头。客户端(在您的情况下是
请求
库)将通知服务器它的身份

一般来说,浏览器会说
我是浏览器
,而图书馆会说
我是图书馆
。然后服务器可以说
我允许浏览器而不是库访问我的内容

但是,对于这种特殊情况,您可以通过发送自己的
用户代理
头向服务器撒谎

你可以在这里看到一个。尝试使用浏览器用户代理

其他阻塞技术包括ip范围。绕过此问题的一种方法是通过
vpn
。是最容易设置的
vpn
之一。只需在amazon上启动一台机器,让这个容器运行即可

除此之外,您还可以尝试访问未呈现在服务器端的单页应用程序。在本例中,您应该通过该
get
请求接收一个非常小的html文件,它基本上引用了一个javascript文件。如果是这种情况,您需要的是一个实际的浏览器,您可以通过编程控制它。我建议你看看其他的。你也可以使用

网络爬行是一个美丽但非常深刻的主题。我认为这些指针应该给你指明正确的方向



另外,简单地说,我的建议是避免从bs4导入
作为汤
。我建议你不要。或者说你不应该。如果一个网站正致力于反刮取机器人,这意味着他们不希望人们刮取他们的数据。如果他们不提供API,不要在他们不知情的情况下刮掉他们的网站。至于你的问题,在这个网站上要求一个教程是离题的。你怎么知道它会阻止你的脚本?你怎么知道它不起作用了?它可能运行了一些javascript。你需要这样的东西。我不会把它用在任何项目上。我将此用于实践。我希望熟悉机器人检测和预防的概念@MoonigraWrit似乎在使用Angular的数据绑定,我建议您尝试另一种方法,比如拍摄网站快照