我正在尝试从Google云端硬盘获取直接下载链接,所以我想从外部网址获取特定内容。
示例:访问 x 链接并从该div或该类获取URL!我认为这是可能的,但我不知道该怎么做。
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('https://drive.google.com/uc?id=12ejMrVziFpjcEpG9A2Ks4yoNDJ9qz0B5&export=download');
$DOMxpath = new DOMXPath($dom);
$DivContent = $DOMxpath->query("//div[@id='uc-download-link']");
$bigDiv = $DivContent;
$link = $bigDiv->find('a');
echo $link->href . '<br>';
PHP 或 JavaScript 可能吗?
答案 0 :(得分:1)
当然,可以使用php的list(result)
,file_get_contents
和DOMDocument
轻松完成。
以下示例从“堆栈溢出”徽标的DOMXPath
标记中获取HREF
值,该标记具有类<a>
:
-logo js-gps-track
显然,您只需要针对特定用例修改URL和XPath。
答案 1 :(得分:0)
可以公平地说您正在尝试从外部页面抓取链接吗?如果是这样,那么有一个非常流行的JS软件包叫做Cheerio,它允许您使用与jQuery相同的方式访问元素。它运行在节点https://www.npmjs.com/package/cheerio上,但似乎可以通过CDN在https://www.jsdelivr.com/package/npm/cheerio上获得
答案 2 :(得分:-1)
PHP和JavaScript绝对有可能。问题是,您要如何处理它。要通过解析DOM从驱动器获取下载链接,我将使用以下软件包:
PHP:simple_html_dom软件包
NODE JS:很高兴
PYTHON:具有bs4的简单请求库
您可以使用find()进行过滤以找到下载链接文本部分,并最终通过simple_html_dom的plaintext()方法进行抓取
示例
include('simple_html_dom.php');
$ html = file_get_html('gdriveurl');
$ target = $ html-> find('a'):
echo $ target-> href (这是下载链接)
另一种最简单的解决方案是xpath