当前位置: 首页 > 知识库问答 >
问题:

用漂亮的汤刮Flipkart网页

袁玮
2023-03-14

我试图刮此页上Flipkart:

http://www.flipkart.com/moto-x-play/p/itmeajtqp9sfxgsk?pid=MOBEAJTQRH4CCRYM

我试图找到的div类"fk-ui-ccarousel超级容器相同的vreco部分reco-carousel-边界-顶部sameHorizontalReco",但它返回空结果。

from bs4 import BeautifulSoup
import requests

url = "http://www.flipkart.com/moto-x-play/p/itmeajtqp9sfxgsk?pid=MOBEAJTQRH4CCRYM&ref=L%3A7224647610489585789&srno=p_1&query=moto%20x%20play&otracker=from-search"

page = requests.get(url)

soup = BeautifulSoup(page.text)

divs = soup.find_all("div",{"class":"fk-ui-ccarousel-supercontainer same-vreco-section reco-carousel-border-top sameHorizontalReco"})

print divs

divs是空的。我使用inspect元素复制了类名。

我在这个问题中找到了答案。http://www.google.com/url?q=http://stackoverflow.com/questions/22028775/tried-python-beautifulsoup-and-phantom-js-still-cant-scrape-websites

共有2个答案

钮长恨
2023-03-14

请求。得到(…)将返回该url上的纯HTTP GET内容。页面包含的所有Javascript rel都不会被下载,而且任何内联Javascript也不会被执行。

如果flipkart在DOM加载到浏览器后使用js修改DOM,这些更改将不会反映在page.contentspage.text值中。

您可以在漂亮的汤中尝试不同的解析器,而不是默认的解析器。我试了html5lib,它适用于不同的网站。它将比默认解析器慢,但可能比selenium或其他成熟的无头浏览器快。

孙光临
2023-03-14

当您使用请求时。获取(url)在未启用JavaScript的情况下加载url的HTML内容。如果未启用JavaScript,页面中名为“查看此产品的客户也已查看”的部分甚至从未呈现过。

您可以通过关闭浏览器中的JavaScript来探索这种行为。如果你经常刮,你可能还想下载一个JavaScript切换器插件。

您可能希望研究的另一种方法是使用浏览器自动化工具,如selenium

 类似资料:
  • 我有一小段代码来从web站点中提取表数据,然后以csv格式显示。问题是for循环多次打印记录。我不确定是不是因为 标签。顺便说一句,我是Python新手。谢谢你的帮助!

  • 我已经获得了刮取第一页的代码,但是url从: https://www.expansion.com/empresas-de/ganaderia/granjas-en-general/index.html -- 如何创建从第2页到第65页的循环?非常感谢!

  • 我有一个带有div标签的页面源,如下面的示例页面源。我想像下面的例子一样刮掉所有的网址,并将它们保存在列表中。 示例url: 来自: 我尝试使用下面的代码从href中刮取网址。我试图使用span类来过滤只包含作业卡search__easy飞机的div标签。代码不返回任何网址,只是一个空列表。我对美丽的汤和硒不熟悉。如果有人能指出我的问题是什么,并提出一个解决方案,我会很高兴。特别是如果你也能给出一

  • 我从谷歌应用商店抓取应用名称,每个网址作为输入,我只得到60个应用(因为如果用户不向下滚动,网站会呈现60个应用)。它是如何工作的,我如何才能从一个页面刮所有的应用程序使用美丽的汤和/或硒? 非常感谢。 这是我的密码:

  • 我一直在使用下面的代码来解析链接中的网页https://www.blogforacure.com/members.php.代码将返回给定页面的所有成员的链接。 但是我只得到上面页面的前10个链接。即使在打印美化选项时,我也只能看到前10个链接。

  • 问题内容: 我正在尝试在Python 2.7中安装BeautifulSoup 。我不断收到错误消息,无法理解原因。 我按照说明安装了pip,该pip已安装到以下目录:,然后尝试将其添加到路径中并运行命令。 尝试了两种不同的方法: 都给我这个错误信息: 该外壳突出显示“安装”一词,并说这是无效的语法。 我不知道发生了什么,所以任何帮助将不胜感激。 问题答案: 是 命令行工具 ,而不是Python语法