如何在Python中爬行,而网站阻止了不被爬行的内容?

如何在Python中爬行,而网站阻止了不被爬行的内容?,python,web-scraping,beautifulsoup,web-crawler,Python,Web Scraping,Beautifulsoup,Web Crawler,我是Python的初学者,尝试使用BeautifulSoup进行爬行。并试图抓取一个收集产品信息的网站 pr_url = soup.findAll("li", {"class", "_3FUicfNemK"}) pr_url 使用BeautifulSoup的其他爬网代码都是一样的。 但问题是,即使我写下了正确的组件,也什么也没发生 因此,我认为主机阻止了产品区域,无法对其进行爬网。 因为除了区域之外,每个元素都是可爬行的 你知道怎么爬这个封锁区吗? 网站url为: 感谢您提前提出的意见 请注

我是Python的初学者,尝试使用BeautifulSoup进行爬行。并试图抓取一个收集产品信息的网站

pr_url = soup.findAll("li", {"class", "_3FUicfNemK"})
pr_url
使用BeautifulSoup的其他爬网代码都是一样的。 但问题是,即使我写下了正确的组件,也什么也没发生

因此,我认为主机阻止了产品区域,无法对其进行爬网。 因为除了区域之外,每个元素都是可爬行的

你知道怎么爬这个封锁区吗? 网站url为:


感谢您提前提出的意见

请注意,当您第一次加载页面时,站点的大纲是如何加载的,但产品的加载需要一段时间?这是因为站点请求在后台加载其余内容。此内容未被阻止,只是稍后加载:)

这里有2个选项i.m.o

1) 找出后台请求并将其传递到beautifulsoup。使用Chrome开发工具网络选项卡,我可以看到对产品的请求是

应该能够猜出这里查询字符串的调整并使用它


2) 使用像Selenium这样的工具,它可以与浏览器交互,并为您执行任何JavaScript,这样您就不必弄清楚事情的那一面。如果你是新手,在这里学习网络技术可能不太容易。

没有任何产品被阻止。但是,当您请求URL时,在网页上加载产品需要时间,因为它可能来自JS。因此,使用BeautifulSoup,您将获得一个没有产品的网页。您可以尝试使用selenium并添加一个延时,以解决@ManaliKagathara提到的问题。我在这里可能有点老派,但我认为如果网站不想被爬网,您不应该这样做。这就是
robots.txt
文件的全部要点,毕竟感谢您的评论!我将使用selenium再次尝试。因此,从第一段开始,重点是使用BeautifulSoup不会加载产品,因为它来自JS?因此,我需要做的只是使用硒。我理解对了吗?对不起,英语理解能力差。无论如何,非常感谢你的反馈!“产品将不会加载,因为它来自JS”-正确:)Selenium可能是最简单的选择。您仍然可以使用BeautifulSoup,请在答案中提供的url上尝试。最终,这里最好的答案是你觉得最容易向你申请的答案。还有一个问题。如果我需要抓取除您提供的url之外的页面,那么您仍然建议使用该url吗?(事实上,我不知道url到底是什么意思,以及它是如何工作的。)你必须对每个页面上链接的形成进行反向工程,然后在此基础上对其进行修改,以刮除所有页面。Selenium是一个“更高级别”的工具,您只需告诉它单击链接“X”,以这种方式导航站点并执行刮取。谢谢!你能让我知道哪些代码可以帮助我在非滚动浏览网站中获取上面的url格式吗?