gpt4 book ai didi

javascript - 如何从浏览器中抓取网站?

转载 作者:行者123 更新时间:2023-12-03 13:17:03 25 4
gpt4 key购买 nike

我想通过在浏览器中运行代码来抓取网站。在这种情况下,scraper 必须在特定机器上运行,而我无法在该机器上安装任何软件。但是,已经安装了浏览器(Firefox 的最新版本),我可以随意配置浏览器。

我想要的是一个用于抓取的 javascript 解决方案,包含在站点 A 的网页中,可以抓取站点 B。似乎这会遇到一些 CORS 类型的问题;我认为解决方案的一部分是禁用浏览器中的任何跨域检查。

到目前为止我尝试过的:我查找了“javascript中的网络抓取”,这带来了很多打算在带有cheerio的nodejs中运行的东西,例如this tutorial ,还有诸如 pjscrape 之类的东西这需要 PhantomJS。但是,我找不到任何旨在在浏览器中运行的等效内容。

附言这很有趣:Firefox setting to enable cross domain ajax request显然 Chrome --disable-web-security处理跨域/跨域问题。 Firefox 等效?

附言看起来 Firefox 的 ForceCORS 扩展也很有用:http://www-jo.se/f.pfleger/forcecors我不确定我是否能够安装它。

附言这是在不同浏览器中允许跨域的很好的方法集合:http://romkey.com/2011/04/23/getting-around-same-origin-policy-in-web-browsers/遗憾的是,建议的 Firefox 解决方案在版本 >=5 中不起作用。

最佳答案

尝试用 import.io 来做:( 基本上是一个带有 REST API 的抓取服务)

只要我有一个对 API 的 javascript 调用示例,我就可以提供它。或者您查看 docs你自己。

Import.io allows you to structure the data you find on webpages into rows and columns, using simple point and click technology.

First you locate your data: navigate to a website using our browser (download it from us here: http://import.io).

Then, enter our dedicated data extraction workflow by clicking the pink IO button in the top right of the Browser.

We will guide you through structuring the data on the page. You teach import.io how to extract the data by showing us examples of where the data is. We create learning algorithms that generalize from these examples to work out how to get all the data on the website. The data you collect is stored on our cloud servers to be downloaded and shared. And every time you publish to our platform we create an API to get the data programatically so you can easily integrate live web data into your applications or third party analytics and visualization software.



编辑:

如果数据识别在浏览器中工作,您可以通过前往“简单的 API 集成”并复制 url 来简单地访问数据

export data in import.io

你可以粘贴在这里的网址:
function reqListener () {
console.log(JSON.parse(this.responseText));
return JSON.parse(this.responseText);
}

var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "yourUrlFromClipboardComesHere", true);
oReq.send();

xhr request source

关于javascript - 如何从浏览器中抓取网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com