Vấn đề Sử dụng Xpath crawl dữ liệu trong Scrapy Python
div class=“breadcrumb
breadcrumb_theme_elegant js-breadcrumb” style=“position: relative;”
Em muốn lấy đoạn div này bằng xpath nhưng không thể lấy được.
Đây là xpath của em
$x(’//div[@class=“header__breadcrumb”]/div[@class=“breadcrumb_theme_elegant”]’)
$x(’//div[@class=“header__breadcrumb”]/div[@class=“breadcrumb”]’)
$x(’//div[@class=“header__breadcrumb”]/div[@class=“breadcrumb breadcrumb_theme_elegant js-breadcrumb”]’)
Em thử cả 3 cách đều không được. Hình như trong code có dấu xuống dòng nên không được hay sao ý.
Nhờ các bác chỉ giáo giúp ạ
response.xpath(’//*[@class=“breadcrumb breadcrumb_theme_elegant js-breadcrumb”]’)
Còn 1 khả năng nữa là trang web render bởi JS, thì không thể trực tiếp dùng xpath được mà còn phải qua 1 bước khác.
Mà tôi thấy bạn hỏi khá nhiều về scrapy, mỗi câu hỏi lạo lập topic riêng, muốn tạo rác à? Đã thử google câu hỏi bằng tiếng anh chưa? Đã đọc docs chưa?
Em nào đâu muốn hỏi nhiều. Mỗi lần em đặt câu hỏi là em đã cày hết google lên rồi em mới hỏi đấy chứ.
Như đoạn source của bác viết ra em đã thử rồi nhưng như câu em muốn hỏi là trong source HTML của site mình định crawl thì class của nó viết lại xuống dòng chứ k nằm trên 1 dòng (tức là thay bằng dấu cách thì nó dùng dấu enter). Nên xpath nó không ra kết quả được bác ạ.
Em muốn hỏi là có phải do enter không?
Tài liệu online bằng tiếng anh thì nó chỉ lấy vd các css đơn giản, các class đơn chứ nó k nói đến vấn đề này. Cái này em nghĩ là trải nghiệm thực tế, làm nhiều thì đúc rút ra được.
Vậy đoạn trên mình viết bạn đã chạy thử chưa?
Thử rồi k được bác ạ.
Nhưng em sử dụng cách khác rồi.
Chỉ là băn khoăn mình làm đúng công thức rồi mà nó không ra thôi.
Hình như trong xpath nó phải chuẩn cả từng dấu cách, dấu enter