我正在使用PHP和MySQL以及PHP簡單的HTML DOM解析器。我必須解析網站的頁面並獲取一些內容。爲此,我將網站主頁作爲初始URL並獲取該頁面上可用的所有錨定標記。解析一個網站,獲取所有鏈接並保存到mysql數據庫
我必須過濾這些網址,因爲每個鏈接對我來說都沒有用處。所以,我用正則表達式。必需的鏈接必須保存到我的MySQL數據庫。
我的問題是:
如果我提取的所有鏈接(約1,20,000鏈接)並嘗試保存到MySQL數據庫,我收到以下錯誤: 致命錯誤:最大的執行在第12行的C:\ xampp \ htdocs \ search-engine \ index.php中超過60秒的時間
我無法將數據存儲到數據庫中。
我無法過濾鏈接。
include('mysql_connection.php'); include('simplehtmldom_1_5/simple_html_dom.php'); $website_name="xyz.html/"; $html=file_get_html("xyz.html/"); foreach($html->find('div') as $div) { foreach($html->find('a') as $a_burrp) { echo $a1 = $a_burrp->href . '<br>'; if(preg_match('/.+?event.+/',$a1, $a_match)) { mysql_query("INSERT INTO scrap_urls(url, website_name, date_added) VALUES(`$a1`, `$website_name`, now())"; } } }
mysql已棄用,請使用mysqli或PDO。您的代碼容易受到SQL注入的影響。你的「最大執行時間」問題以前已經被問過很多次了。 –
這是由於我們作爲開發人員對服務器信息的瞭解有限,simpleHTMLDOM解析器對其競爭對手來說很簡單,但速度很慢,但由於其可伸縮性和可用性,所以它被廣泛使用。我支持@wachme答案PHP很慢,需要更改 –
大家好,感謝您的幫助。但是,每個人都只能解決我的第一個問題,而不是第二個和最後的問題我不知道在過濾和存儲數據到db中到底發生了什麼問題。 PLZ解決這個問題。我會很感激! – user2902000