SlideShare a Scribd company logo
PHP crawler and parser

      Phpday 2012
Crawler or Scraper or Spider




  Google SE = Crawler + Indexer
Ứng dụng


•Search engine (vertical)
•Data Mining
•News aggregator
•Autoblog – auto-generated content
Web crawler thách thức

1. Số lượng page rất lớn
2. Cấu trúc mã html phức tạp
3. Tốc độ , tần xuất cần nhanh
Không phải là điểm mạnh của
             php
  1. PHP cần mô hình phức tạp cho
     việc crawler
  2. Bóc tách dữ liệu với PHP tương
     đối khó
    •   regular expression là không đủ
    •   PHP DOM và các thư viện (dom)
        khác , chậm và ngốn memory
Một số giải pháp cho php
1. Sử dụng cloud computing cho việc xử lý và
   lưu trữ (cloud rất phù hợp với stateless)
2. Dùng mô hình job queue cho việc bóc tách
   đọc lập
Sử dụng dịch vụ bên ngoài
Hatforrent dùng công nghệ gì

 1.   Java
 2.   MongoDB
 3.   ActiveMQ
 4.   Rhino
 5.   Google appengine – Amazon EC2
Tại sao lại dùng hatforrent

1. Chỉ việc nhận content
2. Không cron , không crawl , không tốn
   resource
3. Đủ mạnh để lấy 99% content trên thế
   giới
4. Đang phát triển rất nhanh
Demo

1. Selector
• Tương tự css selector
Document

•   http://hatforrent.com/Some-tricks-to-
    get-content-with-Hatforrent.html
•   http://www.youtube.com/watch?featu
    re=player_embedded&v=LdqM_2S0JO
    k
•   http://blog.hatforrent.com/
Hỗ trợ
1.   Lấy content ở tất cả các trang web
2.   Dải IP rộng (tránh bị blacklisted)
     ip4:216.239.32.0/19
     ip4:64.233.160.0/19
     ip4:66.249.80.0/20
     ip4:72.14.192.0/18
     ip4:209.85.128.0/17
     ip4:66.102.0.0/20
     ip4:74.125.0.0/16
     ip4:64.18.0.0/20
     ip4:207.126.144.0/20
     ip4:173.194.0.0/16
3 .Đẩy dữ liệu vào wordpress , blogspot , rest API
Ứng dụng
1. News aggregator
   http://www.esexpress.net/
2. http://tintute.com/
3. Autoblog

4. Q&A style
   http://www.questiondb.com/
5. ứng dụng đọc báo đọc trên mobile
API

1. Đã có public API để các trang có thể
   nhận dữ liệu từ hatforrent (Rest Style)
2. Đang phát triển API đẩy thẳng vào các
   loại csdl phổ biến
PHP Example

•   <?php
    •    $title = $_POST['post']['title'];
    •    $tag = $_POST['post']['tag'];
    •    $content = $_POST['post']['content'];
•   ?>
Cần cộng đồng hỗ trợ

1. Viết plugin để làm việc trực tiếp trên
   WordPress để (như WP-robot)
2. Viết PHP API để có thể đẩy content
   vào
• Joomla
• Drupal
• Magento
• Forum Engine
Cảm ơn

More Related Content

PPT
Lập trình viên PHP
PPT
Reveal the Power of Php
PPTX
Sử dụng dịch vụ crawler và parser trong PHP
PDF
B7_1_Tổng Quan PHP P1.pdfhelllllllllllllloooo
PDF
Hướng Dẫn Php
PDF
Tìm nền tảng lập trình cho 5 năm tới
PDF
Php 01 modau
PDF
Web201 slide 1
Lập trình viên PHP
Reveal the Power of Php
Sử dụng dịch vụ crawler và parser trong PHP
B7_1_Tổng Quan PHP P1.pdfhelllllllllllllloooo
Hướng Dẫn Php
Tìm nền tảng lập trình cho 5 năm tới
Php 01 modau
Web201 slide 1

Similar to Php crawler and parser (20)

PPT
Php01 tong quan
PDF
Lap trinh web dong voi php my sql
PDF
Lap trinh web dong voi php my sql
PDF
Slide 01-Web Application Overview (1).pdf
PDF
Ltw0 baimodau
DOC
Bai tap lon xlnntn
PDF
Luận văn: Kỹ thuật điều tra phân tích tấn công web, HAY
PDF
Phalcon introduction
PDF
Tai lieu-laptrinh ph-pvamysql - bachkhoaaptech.com
PDF
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
PDF
Tai lieu-laptrinh ph-pvamysql
PDF
Lap trinh php va my sql
PDF
Lap Trinh Php Va My Sql
PDF
Web server là gì? Cách thức hoạt động và các loại máy chủ web phổ biến
PPT
Zing
PPTX
Facebook API
PDF
Ứng dụng xử lý HTTP Request - Kỹ thuật lập trình
PPTX
Truy cap dien toan dam may Truy cap dien toan dam may
PDF
Zing Me & PHP
PDF
03 udpt php
Php01 tong quan
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
Slide 01-Web Application Overview (1).pdf
Ltw0 baimodau
Bai tap lon xlnntn
Luận văn: Kỹ thuật điều tra phân tích tấn công web, HAY
Phalcon introduction
Tai lieu-laptrinh ph-pvamysql - bachkhoaaptech.com
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Tai lieu-laptrinh ph-pvamysql
Lap trinh php va my sql
Lap Trinh Php Va My Sql
Web server là gì? Cách thức hoạt động và các loại máy chủ web phổ biến
Zing
Facebook API
Ứng dụng xử lý HTTP Request - Kỹ thuật lập trình
Truy cap dien toan dam may Truy cap dien toan dam may
Zing Me & PHP
03 udpt php
Ad

Php crawler and parser

  • 1. PHP crawler and parser Phpday 2012
  • 2. Crawler or Scraper or Spider Google SE = Crawler + Indexer
  • 3. Ứng dụng •Search engine (vertical) •Data Mining •News aggregator •Autoblog – auto-generated content
  • 4. Web crawler thách thức 1. Số lượng page rất lớn 2. Cấu trúc mã html phức tạp 3. Tốc độ , tần xuất cần nhanh
  • 5. Không phải là điểm mạnh của php 1. PHP cần mô hình phức tạp cho việc crawler 2. Bóc tách dữ liệu với PHP tương đối khó • regular expression là không đủ • PHP DOM và các thư viện (dom) khác , chậm và ngốn memory
  • 6. Một số giải pháp cho php 1. Sử dụng cloud computing cho việc xử lý và lưu trữ (cloud rất phù hợp với stateless) 2. Dùng mô hình job queue cho việc bóc tách đọc lập
  • 7. Sử dụng dịch vụ bên ngoài
  • 8. Hatforrent dùng công nghệ gì 1. Java 2. MongoDB 3. ActiveMQ 4. Rhino 5. Google appengine – Amazon EC2
  • 9. Tại sao lại dùng hatforrent 1. Chỉ việc nhận content 2. Không cron , không crawl , không tốn resource 3. Đủ mạnh để lấy 99% content trên thế giới 4. Đang phát triển rất nhanh
  • 10. Demo 1. Selector • Tương tự css selector
  • 11. Document • http://hatforrent.com/Some-tricks-to- get-content-with-Hatforrent.html • http://www.youtube.com/watch?featu re=player_embedded&v=LdqM_2S0JO k • http://blog.hatforrent.com/
  • 12. Hỗ trợ 1. Lấy content ở tất cả các trang web 2. Dải IP rộng (tránh bị blacklisted) ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 3 .Đẩy dữ liệu vào wordpress , blogspot , rest API
  • 13. Ứng dụng 1. News aggregator http://www.esexpress.net/ 2. http://tintute.com/ 3. Autoblog 4. Q&A style http://www.questiondb.com/ 5. ứng dụng đọc báo đọc trên mobile
  • 14. API 1. Đã có public API để các trang có thể nhận dữ liệu từ hatforrent (Rest Style) 2. Đang phát triển API đẩy thẳng vào các loại csdl phổ biến
  • 15. PHP Example • <?php • $title = $_POST['post']['title']; • $tag = $_POST['post']['tag']; • $content = $_POST['post']['content']; • ?>
  • 16. Cần cộng đồng hỗ trợ 1. Viết plugin để làm việc trực tiếp trên WordPress để (như WP-robot) 2. Viết PHP API để có thể đẩy content vào • Joomla • Drupal • Magento • Forum Engine