不知道你asp用的數(shù)據(jù)庫是不是mysql, 不過大多數(shù)asp連接數(shù)據(jù)庫都可以用php連接, php配置下直接連接到數(shù)據(jù)庫即可, 都不用數(shù)據(jù)遷移, 這是asp和php相同服務(wù)器情況下, 不同情況下相同數(shù)據(jù)庫可以直接用數(shù)據(jù)庫命令dump成sql文件然后再新的數(shù)據(jù)庫服務(wù)器中執(zhí)行就好, 最差的情況是不同數(shù)據(jù)庫服務(wù)器, 在asp中可以寫腳本讓其將數(shù)據(jù)取出來, 然后按一定格式或者json編碼到一個文本文件中, 到php時再獲取這個文件中的內(nèi)容再解碼出來, 插入新的數(shù)據(jù)庫, 最后還可以在asp中寫個同步的接口, 在php寫個服務(wù)請求這個接口將數(shù)據(jù)同步遷移過來, 都可以的
南昌網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),南昌網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為南昌上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的南昌做網(wǎng)站的公司定做!
1、建議你讀寫數(shù)據(jù)和下載圖片分開,各用不同的進程完成。
比如說,取數(shù)據(jù)用get-data.php,下載圖片用get-image.php。
2、多進程的話,php可以簡單的用pcntl_fork()。這樣可以并發(fā)多個子進程。
但是我不建議你用fork,我建議你安裝一個gearman worker。這樣你要并發(fā)幾個,就啟幾個worker,寫代碼簡單,根本不用在代碼里考慮thread啊,process等等。
3、綜上,解決方案這樣:
(1)安裝gearman worker。
(2)寫一個get-data.php,在crontab里設(shè)置它每5分鐘執(zhí)行一次,只負(fù)責(zé)讀數(shù)據(jù),然后把讀回來的數(shù)據(jù)一條一條的扔到 gearman worker的隊列里;
然后再寫一個處理數(shù)據(jù)的腳本作為worker,例如叫process-data.php,這個腳本常駐內(nèi)存。它作為worker從geraman 隊列里讀出一條一條的數(shù)據(jù),然后跟你的數(shù)據(jù)庫老數(shù)據(jù)比較,進行你的業(yè)務(wù)邏輯。如果你要10個并發(fā),那就啟動10個process-data.php好了。處理完后,如果圖片地址有變動需要下載圖片,就把圖片地址扔到 gearman worker的另一個隊列里。
(3)再寫一個download-data.php,作為下載圖片的worker,同樣,你啟動10個20個并發(fā)隨便你。這個進程也常駐內(nèi)存運行,從gearman worker的圖片數(shù)據(jù)隊列里取數(shù)據(jù)出來,下載圖片
4、常駐進程的話,就是在代碼里寫個while(true)死循環(huán),讓它一直運行好了。如果怕內(nèi)存泄露啥的,你可以每循環(huán)10萬次退出一下。然后在crontab里設(shè)置,每分鐘檢查一下進程有沒有啟動,比如說這樣啟動3個process-data worker進程:
* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php /dev/null 21'
* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php /dev/null 21'
* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php /dev/null 21'
不知道你明白了沒有
這個簡單了,下載以后都是php的,然后用批處理批量改成pdf的,就是不知道數(shù)據(jù)庫里面是什么格式的,到時候可以根據(jù)id替換下,數(shù)據(jù)庫也可以批量替換成pdf
ren *.php *.pdf即可
簡單的有個file_get_content函數(shù),然后寫正則規(guī)則匹配內(nèi)容,存數(shù)據(jù)庫。
如果需要登陸的,用curl,還有可以用PHP的DOM庫替換正則表達(dá)式
Python和Java等都有beautifulsoup這個第三方庫,用來采集非常棒
用fopen/file/file_get_contents/curl之類的函數(shù)將遠(yuǎn)程頁面獲得內(nèi)容, 采用正則或過濾之類的獲得自己所需要的東西, 最好寫入相應(yīng)的數(shù)據(jù)庫保存起來。
簡單的分了幾個步驟:
1、確定采集目標(biāo)
2、獲取目標(biāo)遠(yuǎn)程頁面內(nèi)容(curl、file_get_contents)
3、分析頁面html源碼,正則匹配你需要的內(nèi)容(preg_match、preg_match_all),這一步最為重要,不同頁面正則匹配規(guī)則不一樣
4、入庫
分享標(biāo)題:采集數(shù)據(jù)php格式,php數(shù)據(jù)抓取
本文鏈接:http://aaarwkj.com/article18/dsiiedp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計、小程序開發(fā)、服務(wù)器托管、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)