前幾天,被老闆拉去說要我去抓取大眾點評某家店的資料,當然被我義正言辭的拒絕了,理由是我不會。。。但我的反抗並沒有什麼卵用,所以還是乖乖去查資料,因為我是從事php工作的,首先找的就是php的網路爬蟲原始碼,在我的不懈努力下,終於找到phpspider,開啟phpspider開發文件首頁我就被震驚了,標題《我用爬蟲一天時間「偷了」知乎一百萬使用者,只為證明php是世界上最好的語言 》,果然和我預料的一樣,php就是世界上最好的語言。廢話少說,下面開始學習使用。
首先看的是提供的乙個demo,**如下:
$configs = array(
'name' => '糗事百科',
'domains' => array(
'qiushibaike.com',
'www.qiushibaike.com'
),'scan_urls' => array(
''),
'content_url_regexes' => array(
"article/\d+"
),'list_url_regexes' => array(
"8hr/page/\d+\?s=\d+"
),'fields' => array(
array(
// 抽取內容頁的文章內容
'max_try' => 5,
'export' => array(
'type' => 'db',
'conf' => array(
'host' => 'localhost',
'port' => 3306,
'user' => 'root',
'pass' => 'root',
'name' => 'demo',
),'table' => '360ky',
),
'name' => "article_content", 'selector' => "//*[@id='single-next-link']", 'required' => true ), array( // 抽取內容頁的文章作者 'name' => "article_author", 'selector' => "//div[contains(@class,'author')]//h2", 'required' => true ), ),);$spider = new phpspider($configs);$spider->start();
每項具體的資訊,可以去 檢視,**比較詳細,這裡只說下我走的彎路,
domains是定義採集的網域名稱,只在該網域名稱下採集,
content_url_regexes是採集的內容頁,使用chrome檢視網頁原始碼,然後使用selector選擇器定位,selector使用xpath格式定位引數,當然也可以用css來選擇。
list_url_regexes列表頁,每個列表頁抓取多條content_url_regexes的url迴圈採集。還有一些其他引數沒有列出來,例如:
'max_try' => 5,
'export' => array(
'type' => 'db',
'conf' => array(
'host' => 'localhost',
'port' => 3306,
'user' => 'root',
'pass' => 'root',
'name' => 'demo',
),'table' => '360ky',
),
max_try 同時工作的爬蟲任務數。
export採集資料儲存,有兩種格式,一種是寫到資料庫中,一種是直接生成.csv格式檔案。只要url規則寫的對,就可以執行,不用管框架裡面的封裝。當然,此框架只能在php-cli命令列下執行,所以使用前要先配置環境變數,或者cd到php安裝路徑執行。
最後成功採集到大眾點評某點的一千多條資料。
php網路爬蟲教程 PHP網路爬蟲之CURL詳解
php的curl可以實現模擬http的各種請求,這也是php做網路爬蟲的基礎,也多用於介面api的呼叫。這個時候有人就要發問了 為什麼你特麼不用file get contents?curl的效能比它好,而且可以完成更多複雜的操作,不僅僅只是獲取頁面資料。下面先分別介紹一些常用的函式。curl ini...
關於PHP爬蟲和Android定位的初步設想
利用php,對某天氣 爬蟲,每一小時爬一次。首先由使用者輸入指定城市。對 雨 雪 霧 風 等異常天氣做監控,如果某頁內容中含有關鍵字,則 1.向指定郵箱傳送郵件。可以是139 沃 天翼郵箱,以實現免費簡訊提醒。3.以某種方式實現ical檔案的輸出,輸出內容包括觸發警告的該日的所有天氣資訊,該檔案可匯...
關於網頁中的請求頭 網路爬蟲
可能有些同學並不太懂為什麼寫爬蟲首先要加乙個請求頭,下面是引用了崔慶才老師寫的 python3網路爬蟲實戰開發 中的一篇文章,請大家參考 是用來說明伺服器要使用的附加資訊,比較重要的資訊有cookiereferer user agent 下面簡要說明 些常用的頭資訊 accept 請求報頭域,用於指...