php實現採集電影數據,php 採集

本文目錄一覽:

php 百度 知道數據採集

問題其實不難,自己都能寫。給你幾個思路吧:

1.在百度知道中,輸入linux,然後會出現列表。複製瀏覽器地址欄內容。

然後翻頁,在複製地址欄內容,看看有什麼不同,不同之處,就是你要循環分頁的i值。

當然這個是笨方法。

2.使用php的file或者file_get_contents函數,獲取鏈接URL的內容。

3.通過php正則表達式,獲取你需要的3個欄位內容。

4.寫入資料庫。

需要注意的是,百度知道有可能做了防抓取的功能,你剛一抓幾個頁面,可能會被禁止。

建議也就抓10頁數據。

其實不難,你肯定寫的出來。 還有,網上應該有很多抓取工具,你找找看,然後將抓下來的數據

在做分析。寫入資料庫。

php怎麼抓取其它網站數據

可以用以下4個方法來抓取網站 的數據:

1. 用 file_get_contents 以 get 方式獲取內容:

?

$url = ”;

$html = file_get_contents($url);

echo $html;

2. 用fopen打開url,以get方式獲取內容

?

$url = ”;

$fp = fopen($url, ‘r’);

stream_get_meta_data($fp);

$result = ”;

while(!feof($fp))

{

$result .= fgets($fp, 1024);

}

echo “url body: $result”;

fclose($fp);

3. 用file_get_contents函數,以post方式獲取url

?

$data = array(

‘foo’=’bar’,

‘baz’=’boom’,

‘site’=”,

‘name’=’nowa magic’);

$data = http_build_query($data);

//$postdata = http_build_query($data);

$options = array(

‘http’ = array(

‘method’ = ‘POST’,

‘header’ = ‘Content-type:application/x-www-form-urlencoded’,

‘content’ = $data

//’timeout’ = 60 * 60 // 超時時間(單位:s)

)

);

$url = “”;

$context = stream_context_create($options);

$result = file_get_contents($url, false, $context);

echo $result;

4、使用curl庫,使用curl庫之前,可能需要查看一下php.ini是否已經打開了curl擴展

$url = ”;

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

php 定義一個二維數組,存儲多部電影的信息.並使用foreach將電影信息顯示到表格中

?php

$movie = array(array(‘泰坦尼克號’,’2015-07-20′),array(‘終結者’,’2015-08-28′));

?

table border=’1′

tr

td名稱/td

td上映時間/td

/tr

?php foreach ($movie as $key = $value): ?

tr

td?php echo $value[‘0’] ?/td

td?php echo $value[‘1’] ?/td

/tr

?php endforeach ?

/table

php採集大數據的方案

1、建議你讀寫數據和下載圖片分開,各用不同的進程完成。

比如說,取數據用get-data.php,下載圖片用get-image.php。

2、多進程的話,php可以簡單的用pcntl_fork()。這樣可以並發多個子進程。

但是我不建議你用fork,我建議你安裝一個gearman worker。這樣你要並發幾個,就啟幾個worker,寫代碼簡單,根本不用在代碼里考慮thread啊,process等等。

3、綜上,解決方案這樣:

(1)安裝gearman worker。

(2)寫一個get-data.php,在crontab里設置它每5分鐘執行一次,只負責讀數據,然後把讀回來的數據一條一條的扔到 gearman worker的隊列里;

然後再寫一個處理數據的腳本作為worker,例如叫process-data.php,這個腳本常駐內存。它作為worker從geraman 隊列里讀出一條一條的數據,然後跟你的資料庫老數據比較,進行你的業務邏輯。如果你要10個並發,那就啟動10個process-data.php好了。處理完後,如果圖片地址有變動需要下載圖片,就把圖片地址扔到 gearman worker的另一個隊列里。

(3)再寫一個download-data.php,作為下載圖片的worker,同樣,你啟動10個20個並發隨便你。這個進程也常駐內存運行,從gearman worker的圖片數據隊列里取數據出來,下載圖片

4、常駐進程的話,就是在代碼里寫個while(true)死循環,讓它一直運行好了。如果怕內存泄露啥的,你可以每循環10萬次退出一下。然後在crontab里設置,每分鐘檢查一下進程有沒有啟動,比如說這樣啟動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’

不知道你明白了沒有

搜一次php1.6為什麼採集電影的時候顯示不支持當前採集環境,我用的vps,N點也安裝了,用的mqsql資料庫

你要貼出具體錯誤提示,例如它提示那個地方不支持。

php環境配置項很多,可能有一些沒有打開。然後修改對應的php.ini

N點只是虛擬主機管理系統而已,和環境無關的。

做個PHP的小型電影網站,如何設計資料庫?

可以參看discuz資料庫表帖子,和帖子附件的設計,我的大概思路是這樣的:

首先建立一個數據表”film”用來保存簡短文字信息,其中包含:電影發布時有名字,主演,簡介,歸屬欄目,發布電影的URL鏈接。在創建一個表(考慮到是小型網站,如果中型的話,可以選擇10個,像discuz一樣)”attachement”,用來保存,上傳截圖,上傳視頻。這個表用一個外鍵與film表連接。中間在外鍵上加索引。

希望我的回答對你有幫助!

原創文章,作者:AGHC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142494.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
AGHC的頭像AGHC
上一篇 2024-10-12 09:43
下一篇 2024-10-12 09:43

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29
  • Python如何打亂數據集

    本文將從多個方面詳細闡述Python打亂數據集的方法。 一、shuffle函數原理 shuffle函數是Python中的一個內置函數,主要作用是將一個可迭代對象的元素隨機排序。 在…

    編程 2025-04-29

發表回復

登錄後才能評論