JavaScript-如何获得某个页面上特定的一块html区域的内容?

JavaScript-如何获得某个页面上特定的一块html区域的内容?

浮生未歇 发布于 2017-04-20 字数 229 浏览 1459 回复 4

比如我想得到某网站页面上的一个class为“iwant”的一块html元素,
可以使用curl或者$.get获得整个页面,但是不知道如何使用js将整个页面中的这块元素提取出来。
如何来做呢
我是想提取出来放在我自己的页面上。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

灵芸 2017-07-28 4 楼

php中要通过curl获取整个页面,然后在用正则筛选出来,不能直接远程筛选~~

想挽留 2017-07-04 3 楼

由于浏览器js的安全策略,只能请求同源(同一域名下)的html。所以如果要抓取不同域的页面,不能在客户端用js抓取。

服务器端抓取

采用php的fopen()、file_get_contents()。如果有curl的话首选curl来抓取。

DOM解析

php自带了DOM解析库,如:
- DOM基于libxml
也可以使用一些第三方的解析库:
- phpQuery基于DOM/libxml,而不是基于string解析性能不错,而且支持类似jQuery选择器语法很方便。
- 当然你也可以用正则表达式(基于string解析),不推荐。
我写过一个网页,使用curl+phpQuery 详见paroid News

偏爱自由 2017-05-21 2 楼

试下这个方法:

$(document).ready(function() {
//获取目标div class="iwant"
var myhtml = $('div.abc').html();
//再alert出来看结果
alert(myhtml);
});

甜柠檬 2017-04-28 1 楼

获取到html后直接用正则搞吧~

$r = '/<div.*class="iwant".*>[^{]*?</div>/sm';

enjoy~