Giúp hộ e đoạn code này với các bác ơi

Discussion in 'Thảo Luận Chung' started by Sì Ke, Dec 27, 2017.

  1. Sì Ke

    Sì Ke Sơ Nhập Giang Hồ

    Chả là e có đang cwarl data 1 website nhưng trong phần nội dung chính của nó có trộn lẫn cả 2 cái icon social facebook, e xóa mãi mà ko đc
    Đây là đoạn html của nó
    upload_2017-12-27_0-2-22.png
    e dùng simple html dom với câu lệnh:
    foreach($html->find("div[class='fb-like fb_iframe_widget']") as $delete_social){
    $delete_social->outertext = '';
    }
    $html ->load($html ->save());

    Với trong phần content của nó e lấy hình theo cú pháp:
    Đây là đoạn html của site e đang cwarl
    upload_2017-12-27_0-7-12.png

    và e code như này:

    foreach($html->find("div[class='post single']") as $ct){
    $title = $ct->find("h1[class='post-title']", 0)->plaintext;
    $contents = $ct->find("div[class='post-content']", 0)->plaintext;
    $img = $ct->find("table[align='center'] td[class='pic']", 0)->src;
    }

    2 cái kia đều chạy tốt, nhưng phần img thì lại ko trả về link hình.
    Mong các cụ giúp e, mò mấy ngay nay thốn quá :(
     
  2. Nai

    Nai MiddleMan Staff Member

    Nếu ko giải được bằng simple dom thì dùng regex thử xem. Mình bóc tách dùng regex với strpos và strrpos thấy đủ dùng
     
    Sì Ke likes this.
  3. ZzoapzZ

    ZzoapzZ Khách Qua Đường

    quen dùng xpath tách mấy cái này
     
    Sì Ke likes this.
  4. Phan Thị

    Phan Thị Bang Chúng

    Xem icon nó định dạng như nào rồi dùng preg_match loại bỏ nó đi
     
    Sì Ke likes this.
  5. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Thớt nghiên cứu thêm regex nữa nhé, Thằng đó kết hợp với DOM là cái gì củng bóc tách dc hết
     
    Sì Ke likes this.
  6. Trần Trọng Bách

    Trần Trọng Bách Sơ Nhập Giang Hồ

    Bạn viết đoạn này bị sai thì phải: $img = $ct->find("table[align='center'] td[class='pic']", 0)->src;
    Mình nghĩ phải là : $img = $ct->find("table[align='center'] > td[class='pic']", 0)->src;
    Lâu rồi mình k dùng dom, nhưng thấy đoạn đó có vẻ sai. Với lại sao bạn không lấy table[class='picture'] mà lại lấy table[align='center']? Không rõ dùng align ở đây chạy có đúng không. Bạn đổi cả phần đó xem sao.
     
  7. Sì Ke

    Sì Ke Sơ Nhập Giang Hồ

    E dùng đoạn code như bác bảo nhưng vẫn ko lấy đc bác ạ, chắc phải thử tìm hỉu regex như mấy bác trên nói
     
  8. Phan Thị

    Phan Thị Bang Chúng

    $img = $ct->find("img[class=cool-image-share]", 0)->src;
     
  9. Phan Thị

    Phan Thị Bang Chúng

    Hoac
    $html->find('[class^=wp-image-]',0)->src
     
  10. Sì Ke

    Sì Ke Sơ Nhập Giang Hồ

    cảm ơn bác, em đã lấy được hình, h còn phần xóa thôi ạ {beauty}{beauty}
     
  11. fixbug

    fixbug Moderator Staff Member

    Dùng nodejs đi bác :v