file_get_contents
curl
PHP Simple HTML DOM parser
Drei Methoden zum Abrufen von HTML, das Bild wird nicht angezeigt, Curl simuliert auch den Browser.
Der folgende Link zur Bild- und Textseite ist ein Beispiel
WeChat-Bild- und Textseite
Zum Beispiel erhalten Sie den Code im HTML-Dom-Modus:
<code>$html = new simple_html_dom(); $html->load_file($artical_url); echo "$html";</code>
Nachdem PHP den Code erhalten hat, der Code des ersten Bildes:
<code><img data-type="gif" data-ratio="0.29676258992805754" data-w="" width="100%" data-src="http://mmbiz.qpic.cn/mmbiz/zynprs47B4SSmGjHh9gJq59bct0TbDmksGMe4kRiaFTspugicmSwLVVfK13HdQbKIR7gaxxwF6icEVT3tCp33IOtg/0?wx_fmt=gif" style="margin: 0px; padding: 0px; width: 670px; height: auto !important; box-sizing: border-box !important; word-wrap: break-word !important; visibility: visible !important;"/></code>
Der Code für den Browser, um auf die Seite zuzugreifen und das Bild normal anzuzeigen:
<code><img data-type="gif" data-ratio="0.29676258992805754" data-w="" width="100%" data-src="http://mmbiz.qpic.cn/mmbiz/zynprs47B4SSmGjHh9gJq59bct0TbDmksGMe4kRiaFTspugicmSwLVVfK13HdQbKIR7gaxxwF6icEVT3tCp33IOtg/0?wx_fmt=gif" style="width: 670px !important; box-sizing: border-box !important; word-wrap: break-word !important; visibility: visible !important; height: auto !important;" _width="670px" src="http://mmbiz.qpic.cn/mmbiz/zynprs47B4SSmGjHh9gJq59bct0TbDmksGMe4kRiaFTspugicmSwLVVfK13HdQbKIR7gaxxwF6icEVT3tCp33IOtg/0?wx_fmt=gif&wxfrom=5&wx_lazy=1"></code>
Was tun? ?
file_get_contents
curl
PHP Simple HTML DOM parser
Drei Methoden zum Abrufen von HTML, das Bild wird nicht angezeigt, Curl simuliert auch den Browser.
Der folgende Link zur Bild- und Textseite ist ein Beispiel
WeChat-Bild- und Textseite
Zum Beispiel erhalten Sie den Code im HTML-Dom-Modus:
<code>$html = new simple_html_dom(); $html->load_file($artical_url); echo "$html";</code>
Nachdem PHP den Code erhalten hat, der Code des ersten Bildes:
<code><img data-type="gif" data-ratio="0.29676258992805754" data-w="" width="100%" data-src="http://mmbiz.qpic.cn/mmbiz/zynprs47B4SSmGjHh9gJq59bct0TbDmksGMe4kRiaFTspugicmSwLVVfK13HdQbKIR7gaxxwF6icEVT3tCp33IOtg/0?wx_fmt=gif" style="margin: 0px; padding: 0px; width: 670px; height: auto !important; box-sizing: border-box !important; word-wrap: break-word !important; visibility: visible !important;"/></code>
Der Code für den Browser, um auf die Seite zuzugreifen und das Bild normal anzuzeigen:
<code><img data-type="gif" data-ratio="0.29676258992805754" data-w="" width="100%" data-src="http://mmbiz.qpic.cn/mmbiz/zynprs47B4SSmGjHh9gJq59bct0TbDmksGMe4kRiaFTspugicmSwLVVfK13HdQbKIR7gaxxwF6icEVT3tCp33IOtg/0?wx_fmt=gif" style="width: 670px !important; box-sizing: border-box !important; word-wrap: break-word !important; visibility: visible !important; height: auto !important;" _width="670px" src="http://mmbiz.qpic.cn/mmbiz/zynprs47B4SSmGjHh9gJq59bct0TbDmksGMe4kRiaFTspugicmSwLVVfK13HdQbKIR7gaxxwF6icEVT3tCp33IOtg/0?wx_fmt=gif&wxfrom=5&wx_lazy=1"></code>
Was tun? ?
Vielen Dank für die Antwort oben. Es sollte kein Problem mit Anti-Hotlinking sein. Es scheint, dass die DOM-Regeln die Attribute von data-src und src beim Crawlen nicht bestimmen können. Nachdem ich lange recherchiert hatte, stellte ich fest, dass simple_html_dom tatsächlich eine gute Sache ist und es nach dem Zurückkriechen möglich sein sollte, es zu ersetzen. Leider sind die Anweisungen immer falsch geschrieben, da ich mich mit PHP nicht so gut auskenne. Später habe ich die native Methode von js verwendet, um das Land zu retten, den Inhalt von PHP-Variablen abgerufen und sie durch reguläre Regeln ersetzt, um das Problem zu lösen.
Eines noch: Vergessen Sie nach der Verwendung von html_dom nicht $html->clear.
Versuchen Sie, die Curl-Header-Parameter zu ändern
https://segmentfault.com/q/1010000005046169
Es fühlt sich an, als ob Ihr Problem diesem ähnlich ist, probieren Sie es aus