簡體   English   中英

如何使用PHP從另一個網站獲取數據並將其存儲在MySQL數據庫中?

[英]How can I use PHP to fetch data from another website and store it in a MySQL database?

我需要使用PHP從網站獲取數據並將其保存在MySQL數據庫中。 我還想獲取圖像並將其保存在服務器中,以便可以在站點中顯示它們。 我聽說可以為此使用API​​,但是我想知道是否可以使用CURL進行此操作。 我想每天獲取大量數據,因此使用CURL是否會消耗大量服務器端資源? 存在哪些其他方法來獲取數據?

我認為這更多是一個堆棧溢出問題,但我將嘗試回答。

從您看來,您似乎想要一個通用的Web搜尋器。 有一些解決方案。 而且寫你的書相對容易。

問題是php和curl很慢。 而且很可能您可以輸入內存問題以及腳本執行時間。 Php並非旨在無限循環地運行。

如何使用自定義搜尋器進行操作:

尊重robots.txt! 尊重連接數!

Php:卷曲URL,將其加載到dom(lazy)中或解析以獲取所有標簽(用於下一個鏈接),然后下載所有img標簽。 將標簽hrefs添加到哈希圖和隊列中。 哈希圖不重新抓取已經訪問過的。 排隊-下一份工作。 重復沖洗,您就可以開展業務。

Java:可以用幾行代碼制作Webdriver + chrome + browsermob爬蟲。 並且您會發現一些您可能會錯過的js東西。 緩慢但容易懶惰。 您將直接從代理截取所有圖像。

Java / C#:正確,異步,高性能的搜尋器,后面帶有諸如magestic 12 html解析器之類的東西。 您每分鍾可以處理2000頁,這將贏得任何網站管理員的永恆仇恨。

您還可以查看lucent-這是apache項目的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM