SlideShare a Scribd company logo
PHP crawler and parser

      Phpday 2012
Giới thiệu


Bùi Đình Ngọc
 AITI-Aptech
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. Autoblog
3. Q&A style
   http://www.questiondb.com/
4. ứ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

•   <?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
Hỏi đáp

1. Hatforrent.com
2. Blackhatworld.com
3. DDTH.com
Cảm ơn

More Related Content

Similar to Sử dụng dịch vụ crawler và parser trong PHP

Authentication and Authorization
Authentication and AuthorizationAuthentication and Authorization
Authentication and Authorization
TechMaster Vietnam
 
Kinh nghiệm triển khai Drupal
Kinh nghiệm triển khai DrupalKinh nghiệm triển khai Drupal
Kinh nghiệm triển khai Drupal
Le Thanh Sang
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
HuyVnh4
 
Slide offline SEO Hà Nội Cùng ThuyCuong
Slide offline SEO Hà Nội Cùng ThuyCuongSlide offline SEO Hà Nội Cùng ThuyCuong
Slide offline SEO Hà Nội Cùng ThuyCuong
Đào tạo SEO - Trần Ngọc Thùy
 
Tran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpressTran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpress
Tím Biếc
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress Meetup
KhanhPham
 
Lab 3 - recon web security reconnaissance
Lab 3 - recon  web security reconnaissanceLab 3 - recon  web security reconnaissance
Lab 3 - recon web security reconnaissance
21521907
 
Seminar apply OOP in maintain software
Seminar apply OOP in maintain softwareSeminar apply OOP in maintain software
Seminar apply OOP in maintain software
VKhang Yang
 
Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservices
TechMaster Vietnam
 
Wordpress
WordpressWordpress
Wordpress
Vô Danh
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Giang Nguyễn
 
Itlc2015
Itlc2015Itlc2015
Itlc2015
Huy Do
 
JavaEE Basic_Chapter1: Introduce JavaEE
JavaEE Basic_Chapter1: Introduce JavaEEJavaEE Basic_Chapter1: Introduce JavaEE
JavaEE Basic_Chapter1: Introduce JavaEE
Phaolo Pham
 
Phalcon introduction
Phalcon introductionPhalcon introduction
Phalcon introduction
TechMaster Vietnam
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
NIIT - ICT Hà Nội
 
Php - Xu Huong Ung Dung Va Cong Nghe 2010
Php - Xu Huong Ung Dung Va Cong Nghe 2010Php - Xu Huong Ung Dung Va Cong Nghe 2010
Php - Xu Huong Ung Dung Va Cong Nghe 2010
Võ Duy Tuấn
 
Hướng dẫn sử dụng phần mềm đăng tin tự động VFP Pro
Hướng dẫn sử dụng phần mềm đăng tin tự động VFP ProHướng dẫn sử dụng phần mềm đăng tin tự động VFP Pro
Hướng dẫn sử dụng phần mềm đăng tin tự động VFP Pro
SlimCRM - bộ giải pháp tăng năng lực quản trị cho doanh nghiệp nhỏ và vừa
 
Seowap
SeowapSeowap
Seowap
changcondon
 

Similar to Sử dụng dịch vụ crawler và parser trong PHP (20)

Authentication and Authorization
Authentication and AuthorizationAuthentication and Authorization
Authentication and Authorization
 
Kinh nghiệm triển khai Drupal
Kinh nghiệm triển khai DrupalKinh nghiệm triển khai Drupal
Kinh nghiệm triển khai Drupal
 
Zing osapi v1.3.3
Zing osapi v1.3.3Zing osapi v1.3.3
Zing osapi v1.3.3
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
 
Slide offline SEO Hà Nội Cùng ThuyCuong
Slide offline SEO Hà Nội Cùng ThuyCuongSlide offline SEO Hà Nội Cùng ThuyCuong
Slide offline SEO Hà Nội Cùng ThuyCuong
 
Tran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpressTran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpress
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress Meetup
 
Lab 3 - recon web security reconnaissance
Lab 3 - recon  web security reconnaissanceLab 3 - recon  web security reconnaissance
Lab 3 - recon web security reconnaissance
 
Seminar apply OOP in maintain software
Seminar apply OOP in maintain softwareSeminar apply OOP in maintain software
Seminar apply OOP in maintain software
 
Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservices
 
Wordpress
WordpressWordpress
Wordpress
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01
 
03 udpt php
03 udpt   php03 udpt   php
03 udpt php
 
Itlc2015
Itlc2015Itlc2015
Itlc2015
 
JavaEE Basic_Chapter1: Introduce JavaEE
JavaEE Basic_Chapter1: Introduce JavaEEJavaEE Basic_Chapter1: Introduce JavaEE
JavaEE Basic_Chapter1: Introduce JavaEE
 
Phalcon introduction
Phalcon introductionPhalcon introduction
Phalcon introduction
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
 
Php - Xu Huong Ung Dung Va Cong Nghe 2010
Php - Xu Huong Ung Dung Va Cong Nghe 2010Php - Xu Huong Ung Dung Va Cong Nghe 2010
Php - Xu Huong Ung Dung Va Cong Nghe 2010
 
Hướng dẫn sử dụng phần mềm đăng tin tự động VFP Pro
Hướng dẫn sử dụng phần mềm đăng tin tự động VFP ProHướng dẫn sử dụng phần mềm đăng tin tự động VFP Pro
Hướng dẫn sử dụng phần mềm đăng tin tự động VFP Pro
 
Seowap
SeowapSeowap
Seowap
 

More from AiTi Education

AiTi Education Profile
AiTi Education ProfileAiTi Education Profile
AiTi Education Profile
AiTi Education
 
AiTi Education Software Testing Session 03
AiTi Education Software Testing Session 03AiTi Education Software Testing Session 03
AiTi Education Software Testing Session 03
AiTi Education
 
AiTi Education Software Testing Session 02 b
AiTi Education Software Testing Session 02 bAiTi Education Software Testing Session 02 b
AiTi Education Software Testing Session 02 b
AiTi Education
 
AiTi Education Software Testing Session 02 a
AiTi Education Software Testing Session 02 aAiTi Education Software Testing Session 02 a
AiTi Education Software Testing Session 02 a
AiTi Education
 
AiTi Education Software Testing Session 01 b
AiTi Education Software Testing Session 01 bAiTi Education Software Testing Session 01 b
AiTi Education Software Testing Session 01 b
AiTi Education
 
AiTi Education Software Testing Session 01 a
AiTi Education Software Testing Session 01 aAiTi Education Software Testing Session 01 a
AiTi Education Software Testing Session 01 a
AiTi Education
 
Vietnam mobile internet_2014_mwork_vietnam_mobile_day
Vietnam mobile internet_2014_mwork_vietnam_mobile_dayVietnam mobile internet_2014_mwork_vietnam_mobile_day
Vietnam mobile internet_2014_mwork_vietnam_mobile_day
AiTi Education
 
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...AiTi Education
 
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...AiTi Education
 
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...AiTi Education
 
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...AiTi Education
 
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...AiTi Education
 
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...AiTi Education
 
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...AiTi Education
 
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...AiTi Education
 
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...AiTi Education
 
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...AiTi Education
 
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...AiTi Education
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....AiTi Education
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....AiTi Education
 

More from AiTi Education (20)

AiTi Education Profile
AiTi Education ProfileAiTi Education Profile
AiTi Education Profile
 
AiTi Education Software Testing Session 03
AiTi Education Software Testing Session 03AiTi Education Software Testing Session 03
AiTi Education Software Testing Session 03
 
AiTi Education Software Testing Session 02 b
AiTi Education Software Testing Session 02 bAiTi Education Software Testing Session 02 b
AiTi Education Software Testing Session 02 b
 
AiTi Education Software Testing Session 02 a
AiTi Education Software Testing Session 02 aAiTi Education Software Testing Session 02 a
AiTi Education Software Testing Session 02 a
 
AiTi Education Software Testing Session 01 b
AiTi Education Software Testing Session 01 bAiTi Education Software Testing Session 01 b
AiTi Education Software Testing Session 01 b
 
AiTi Education Software Testing Session 01 a
AiTi Education Software Testing Session 01 aAiTi Education Software Testing Session 01 a
AiTi Education Software Testing Session 01 a
 
Vietnam mobile internet_2014_mwork_vietnam_mobile_day
Vietnam mobile internet_2014_mwork_vietnam_mobile_dayVietnam mobile internet_2014_mwork_vietnam_mobile_day
Vietnam mobile internet_2014_mwork_vietnam_mobile_day
 
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
 
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
 
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
 
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
 
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
 
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
 
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
 
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
 
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...
 
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
 
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
 

Sử dụng dịch vụ crawler và parser trong PHP

  • 1. PHP crawler and parser Phpday 2012
  • 2. Giới thiệu Bùi Đình Ngọc AITI-Aptech
  • 3. Crawler or Scraper or Spider Google SE = Crawler + Indexer
  • 4. Ứng dụng •Search engine (vertical) •Data Mining •News aggregator •Autoblog – auto-generated content
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. Sử dụng dịch vụ bên ngoài
  • 9. Hatforrent dùng công nghệ gì 1. Java 2. MongoDB 3. ActiveMQ 4. Rhino 5. Google appengine – Amazon EC2
  • 10. 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
  • 11. Demo 1. Selector • Tương tự css selector
  • 12. 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/
  • 13. 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
  • 14. Ứng dụng 1. News aggregator (http://www.esexpress.net/) 2. Autoblog 3. Q&A style http://www.questiondb.com/ 4. ứng dụng đọc báo đọc trên mobile
  • 15. 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
  • 16. PHP • <?php • $title = $_POST['post']['title']; • $tag = $_POST['post']['tag']; • $content = $_POST['post']['content']; • ?>
  • 17. 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
  • 18. Hỏi đáp 1. Hatforrent.com 2. Blackhatworld.com 3. DDTH.com