Duck hunt
logo

Chatbox|Admin nhận làm wap/web, giá cả thương lượng... Thông tin admin tại mỗi bài viết.
Home · Bang hội ·
* Đăng Nhập hoặc Đăng Kí
để sử dụng hết chức năng của diễn đàn.
Hi, Khách!
HomeBang hội » Wapmaster » PHP » » Xem bài viết
Xuống dưới »
avatar by Pham_loi Pham_loi
Chức vụ:
10:02:58, 16-03-2016

Những cái cơ bản mình nói ở trước ở part 1 rồi, bay giờ mình đi vào phân tích tool luôn để ace thấy nó cũng thường thôi[imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img)
ok ok, mình sẻ lấy tool auto leech truyện cười tại haynhat.com để phân tích nhé, vì bản này vừa viết xong nên nói luôn cho nóng, về bản chất thì giống nhau cả thôi
hàm thứ nhất tối quan trọng nè

chức năng là lấy mã html của link thôi, giả sử mình xem 1 bài post chẳng hạn link này http://www.haynhat.com/home/truyen-cuoi/2013/05/mong-muon-khi-chet/ ok mình thấy tiêu đề bài viết nó nằm trong
câu hỏi đặt ra là nếu có nhiều cái nằm giữa <h1 class="posttitle"><center> và </center></h1> thì gặp rắc rối khi tách ra để lấy đúng tiêu đề của nó [imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img, nên mình có thủ thuât nhỏ như sau, (dành cho mấy thím xài pc or ucweb thui nhé) bạn bôi đen <h1 class="posttitle"><center> và ctrl+F và nhìn xem nó có mấy kết quả, nếu có 1 kết quả là tốt, hì hì nếu có 2 cái thì sẽ phải dựa vào bộ html nhận được mà phân tích tiếp ;;), bây giờ thì mình chỉ nhận được 1 tags như thế có nghĩa là công việc hơi suôn sẻ,[imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img), như vậy để lấy được tiêu đề mình sẽ thiết kể 1 function để tách nó ra, fuction như sau
hàm này nhận vào là bộ mã html, câu regex ấy có nghĩ tìm chuỗi nằm giữa 2 cụm tags nêu trên trong bộ html đưa vào và lấy nó vào $out, trả lại giá trị cho hàm bằng lệnh return $out[1; chú ý nè, cái $out nó là 1 mảng, nhưng giá trị mình cần lấy nó ở $out[1, làm sao biết thì đơn giản nếu bạn k chắc thì print_r($out); rồi xem nó ở cái nào thì lấy, nhanh nhất đó, còn mình thì lấy theo php.net và kinh nghiệm nó nói [imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img, vậy là xong tiêu đề rồi đó, tương tự phần nội dung mình cũng tìm được nó nằm trong tagsnội dung, nhờ thủ thuật trên mình củng biết nó duy nhất tức là chỉ có 1 tags như thế-chính là tags chứa nội dung đó,[imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img, vậy mình củng thiết kế 1 function lấy nội dung ntn
ở phần trả lại mình có dùng đến strip_tags() để bỏ các tags html khỏi nội dung và nl2br để chuyển tất cả kí tự \n\r hoặc \n .. thành <br />, lý do là để nó hiển thị cho tự nhiên như bài thật thôi,[imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img) vậy là để lấy được nội dung 1 bài có vẻ đơn giản nhỉ, uhm củng bt thôi, nếu k rườm rà thì chỉ có 2 dòng [imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img) và tiếp là mình muốn lấy link của 1 trang truyện cười thì mình có hàm sau
hàm này nhận vào 1 link và trả về danh sách link truyện, link nhận vào ví dụ http://www.haynhat.com/home/hay/truyen-cuoi/page/2/ thì hàm trên sẽ lấy tất cả link truyện trên trang đó và trả nó vào 1 mảng ai cần giả thích hàm này thì nói mình giải thích vì thực ra nó củng tương tự chỉ là thêm cái vòng lặp mảng thôi [imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img à uhm đâu vào đấy r nhỉ, công việc bây giờ là lặp và lấy truyện thôi, mình vào và thấy nó có 59 trang truyện, thì mình sẽ lặp 59 trang và lấy truyện từ các trang ấy, code đây
cái thằng truyện cười ở đây nó hơi chuối tí, trang 1 của nó phải có link dạng [url http://www.haynhat.com /home/hay/truyen-cuoi/ hơi rắc rối nhưng mình gỡ cho nè đầu tiên bắt đầu vòng lặp cho $i=1; là biến chạy while ($i<=59) { cái này có nghĩ trong lúc biến i <= 59($i giờ bằng 1< 59 là cái chắc rồi ) thì ta sẽ làm như sau if ($i=1) $list = get_l('[url http://www.haynhat.com /home/hay/truyen-cuoi/'); nếu biến i =1 thì $list (biến danh sách link ) hàm lấy danh sách link từ url và gán vào $list if ($i>1) $list = get_l('[url http://www.haynhat.com /home/hay/truyen-cuoi); nếu biến i> 1 nếu biến i =1 thì $list (biến danh sách link ) hàm lấy danh sách link từ url và gán vào $list sau đó lặp mảng $list lấy ra link và tách tittle và nội dung rồi xuất ra sau đó $i tăng lên 1 rồi tiếp tục vòng lặp, ồ yeah, vậy là khi $i đang <=59 thì vòng lặp cứ thực hiện, đến khi $i tăng quá 59 thì thoát ra và dừng lại, như vậy code trên sẻ lấy tất cả truyện và xuất ra màn hình cho bạn, k insert đâu nhá, đây chỉ là bản demo để các bạn hiểu thế nào là auto thôi, như vậy khi bạn chạy cod etreen thì việc bạn cần làm là ngồi đợi nó leech hêt thôi, chả làm gì, source hoàn chỉnh đây
ồ ohm giờ hướng dẫn luôn cho việc insert csdl johncms nè mình có một số hàm viết sẵn, các bạn chỉ việc dùng , vì những hàm này là tự mình viết dể phục vụ viêt tool chứ mình không dùng hàm sẵn trong john nên khá dài dòng nên k giả thích nhé
như trên ta đã lấy được nội dung và tiêu đề rồi, bây giờ chỉ việc insert thôi, code trên đây chỉ nhận vào 2 biến tiêu đề và nội dung, ngoài ra để tốt hơn tưc là leech vào đúng chuyên mục thì phiền bạn thêm vào

ok xong rồi đó test coi, test đi coi lôi k vì mình viết ra chứ chưa test đâu, chắc k lỗi đâu [imghttp://wap-m9x.rhcloud.com/images/smileys/simply/).jpg[/img).
Nguồn: haygame.mobi nha.


Chỉnh sửa lúc 2016-03-16 10:04 bởi Pham_loi
Like: 0

Trực Tuyến: Khách: 1
Diễn đàn teen Việt Nam
CopyRight 2014