问题标签 [diffbot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

javascript - 为什么 diffbot 看不到这里的价格?

我正在使用 diffbot 来抓取产品。它在大多数网站上都能正确处理,如果不是,自定义 API 通常允许我轻松调整直到正确。然而,有几个案例让我感到困惑。

我知道 diffbot 不会在自定义 API 预览窗口中执行 javascript,但对于product端点,它应该始终在向 API 发出请求时执行它(例如,从 Python shell 中的 diffbot 客户端)。

足部庇护

对于本网站上的产品,例如https://www.footasylum.com/hugo-boss-three-pack-tshirt-103678/,该offerPrice字段为空。我可以看到价格在 a 中div#priceFrm,因此我尝试在该字段上编辑并添加自定义选择器以达到此效果。然而,即使从 Python shell 进行新的 API 调用,响应也是'offerPrice': ''.

这个价格显然是 Javascript 加的,但为什么 diffbot 不能处理呢?我能做些什么呢?

我还可以看到我想要的价格可以在<script>. 通常我可以从那里刮掉它,//script[contains(text(), "dataLayer")]/text()然后是一个正则表达式。然而,在另一个 diffbot 自定义字段中,我定义了一个选择器script:contains(dataLayer),即使它是空白的。

关于使用 diffbot 从该产品中获取价格的任何想法?

耐克

我也在尝试从https://www.nike.com/gb/t/flyknit-trainer-shoe-GBXjsV/AH8396-600获取价格

第一个问题是自定义 API 的预览窗口奇怪地给出了 500 错误。

接下来,我offerPrice使用自定义选择器编辑该字段div[data-test=product-price],但是该字段没有命中任何内容 - 即使在 Python shell 中从客户端调用时也是如此。

储物柜

最后在这个网站上https://www.footlocker.co.uk/en/p/jordan-1-flight-2-men-shoes-6671?v=314100340604#!searchCategory=all diffbot 似乎无法获取产品图片。

图片由“scene7”加载,通过 XPATH 可以找到//div[@class="s7thumb"][@data-namespace="s7classic"]/@style并解析出“background-url”。

我尝试至少使用选择器获取带有 diffbot 的样式属性,div.s7thumb div[data-namespace=s7classic] 然后添加属性过滤器“样式”,但仍然没有返回任何内容。

0 投票
1 回答
72 浏览

diffbot - 使用 Diffbot 发送 cookie

Diffbot文档建议设置自定义标头,包括Cookies,我只需将X-Forward前缀添加到标头。

例如,我执行以下操作

然后我向我的客户提出请求到 URL https://www.sportsdirect.com/adidas-ace-17-1-mens-fg-football-boots-203193?colcode=20319312,我可以在 Wireshark 中看到客户端正确传递了X-Forward标头:

在此处输入图像描述

然而,目标站点仍以美元而不是人民币作出响应。

这与简单的 cURL 形成对比:

它显示了与“SportsDirect_AnonymousUserCurrency”一致的价格。

但是,我最终测试了使用 diffbot 向https://webhook.site发出请求,该请求记录了任何请求以及发送到它提供给您的特殊地址的标头。

在此处输入图像描述

显然,Diffbot 确实转发了我的标头,所以当 cURL 获得正确的货币时,这令人费解。

0 投票
2 回答
2038 浏览

python - Python:即使它存在于目录中,也找不到模块

考虑我有以下项目结构:

当我尝试将一个类从客户端和一个变量从配置导入到 example.py 中时,如下所示:

我收到两个导入语句的ModuleNotFound 错误。我知道这个问题之前已经被问过很多次了,但是这些解决方案并不能解决我的问题。我尝试将客户端和配置放在与测试文件夹相同的级别。但是,我收到了同样的问题。如果有人可以帮助我解决这个问题,那就太好了。

0 投票
1 回答
19 浏览

python - 爬取网页时如何区分被删除和修改的新闻文章?

我正在编写一个网络爬虫,它使用 diffbot api 提取已清理的新闻文章文本和元数据。如果自上次提取后修改了文章的来源,它还会记录文章标题和文本更改。我需要一些自动的方法来区分已删除和更改的文章:新闻门户网站大多不会返回 404 或其他错误代码,以防帖子被删除,它们通常会发送 200 和带有标题的页面,例如“对不起,您正在寻找的文章去掉了”。因此,我需要一种工具或方法来检测这种情况,最好是用 Python 编写的东西或使用 Web API 的东西。我完全感到困惑,甚至不知道从哪里开始,所以任何合理的建议都受到广泛赞赏。