Kiểm tra mã trang web.
Nếu cuộn vô hạn được tự động kích hoạt hành động js, bạn có thể tiến hành như sau sử dụng đề nghị Alioth: spynner
Tiếp theo spynner docs, bạn có thể thấy rằng có thể kích hoạt sự kiện jquery.
Tra cứu mã thư viện để xem loại sự kiện bạn có thể kích hoạt.
Cố gắng tạo ra một cuộn xuống dưới kiện hoặc tạo css thay đổi sở hữu trên bất kỳ của các div bên trong nội dung cuộn trong trang web. Sau spynner docs, một cái gì đó như:
browser = spynner.Browser(debug_level=spynner.DEBUG, debug_stream=debug_stream)
# load here your website as spynner allows
browser.load_jquery(True)
ret = run_debug(browser.runjs,'window.scrollTo(0, document.body.scrollHeight);console.log(''scrolling...);')
# continue parsing ret
Nó không phải là khá có thể xảy ra rằng một cuộn vô hạn được kích hoạt bởi một liên kết anchor, nhưng có lẽ có thể được kích hoạt bởi một hành động jquery, không necesarry gắn vào một liên kết. Đối với điều này đang trường hợp sử dụng như sau:
br.load('http://pypi.python.org/pypi')
anchors = br.webframe.findAllElements('#menu ul.level-two a')
# chooses an anchor with Browse word as key
anchor = [a for a in anchors if 'Browse' in a.toPlainText()][0]
br.wk_click_element_link(anchor, timeout=10)
output = br.show()
# save output in file: output.html or
# plug this actions into your scrapy method and parse output var as you do
# with response body
Sau đó, chạy scrapy vào file output.html hoặc, nếu bạn thực hiện nó như vậy, sử dụng biến bộ nhớ địa phương mà bạn chọn lựa để lưu trữ html sửa đổi sau khi hành động js .
Như một giải pháp khác, trang web bạn đang cố gắng để phân tích có thể có một thay thế làm phiên bản trong trường hợp trình duyệt truy cập có không js kích hoạt.
Cố gắng hiển thị trang web bằng trình duyệt bị tắt javascript và có thể theo cách đó, trang web cung cấp liên kết cố định ở cuối phần nội dung.
Cũng có thành công triển khai điều hướng trình thu thập thông tin js bằng cách sử dụng phương pháp tiếp cận với Scrapy cùng với Selenium được nêu chi tiết trong this để trả lời.
tôi đã thử đặt giới hạn độ sâu trong cài đặt của mình nhưng vẫn không thể đăng nhập .. nó bị kẹt khi nhận tất cả các liên kết này: "www.example.com/blog/2016/05/13" nhưng không nhấp vào liên kết và cạo bên trong .. – Michimcchicken
Xin lỗi tôi không thể hiểu nơi nó bị mắc kẹt. Bạn có thể xem một số ví dụ trực tuyến như https://github.com/scrapy/dirbot/blob/master/dirbot/spiders/dmoz.py – WannaBeCoder
bạn có thể xem bản chỉnh sửa cuối cùng của mình không? tôi tự hỏi nếu nó giúp D: – Michimcchicken