2016-10-18 23 views
5

-Tôi có một liên kết công việcsiêu url liên kết không mở mà không cần mở cửa giới thiệu hoặc trang mẹ

https://sjobs.brassring.com/TGWebHost/jobdetails.aspx?SID=%5eNJ9jpo3wVSbfK0NxdHECJijC2rWHbZl4%2f7afCQpgRyliOu2Weq1%2few7zT1iEt2vW&jobId=804091&type=search&JobReqLang=1&recordstart=1&JobSiteId=5011&JobSiteInfo=804091_5011&GQId=1640

-Khi tôi dán nó vào một url trình duyệt và nhấn enter, nó kết quả trong

errmsg = NoCookieGetSessionIdForXML (trang không tải)

-However trên cùng một trình duyệt nếu tôi mở đề cập hoặc trang mẹ

https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011

-Sau đó mở một tab mới, một lần nữa trên cùng một trình duyệt tôi đi đến liên kết cùng trên

https://sjobs.brassring.com/TGWebHost/jobdetails.aspx?SID=%5eNJ9jpo3wVSbfK0NxdHECJijC2rWHbZl4%2f7afCQpgRyliOu2Weq1%2few7zT1iEt2vW&jobId=804091&type=search&JobReqLang=1&recordstart=1&JobSiteId=5011&JobSiteInfo=804091_5011&GQId=1640

thời gian này trang web được tải thành công. Tôi loại bỏ các url công việc (không phải url tìm kiếm) và hiển thị cho họ những người dùng trên trang của riêng tôi. Vì vậy, bạn có thể vui lòng chỉ cho tôi cách để đạt được điều này? Tôi đã cố gắng để chụp rắc rối và tôi nghĩ rằng nó có thể phải làm gì với việc thiết lập phiên/cookie nhưng vẫn không thể tìm ra tất cả. Cảm ơn trước sự giúp đỡ nào.

+2

Bạn cần cookie đó, vì vậy bạn cần phải tạo ra rằng cookie từ trang đích, có được nó, và sau đó vượt qua nó vào trang mà bạn muốn để có được. Nhưng chính xác như thế nào bạn làm điều đó phụ thuộc vào ngôn ngữ bạn đang mã hóa scraper của bạn, mà bạn đã không được đề cập ở đây. Tôi đã nhanh chóng tìm được giải pháp cho Python ở đây trên StackOverflow và nếu bạn không thể tìm thấy những gì bạn đang tìm kiếm, bạn có thể làm tốt để đặt câu hỏi mới tại đây, lần này chi tiết ngôn ngữ bạn đang sử dụng –

+0

@RobWilkins Có, tôi đang sử dụng python để cạo, và bạn có thể vui lòng gửi lại liên kết bạn đã đề cập không? Nhiều đánh giá cao. – Dung

+0

http://stackoverflow.com/questions/9754807/scrape-a-web-page-that-requires-they-give-you-a-session-cookie-first –

Trả lời

1

Vấn đề là do người dùng thiếu cookie thích hợp, vì nhận xét và câu trả lời khác cho biết. Tuy nhiên bạn không phải đi đến độ dài khó khăn như vậy để lấy một cookie từ một nguồn từ xa, Bạn chỉ cần tải một tài nguyên từ trang đó trong html của bạn. Tải tài nguyên sẽ đặt cookie trong trình duyệt của người dùng. Bằng cách này, khi người dùng nhấp vào liên kết, họ đã có cookie.

Trong ví dụ bên dưới, tôi đang tải trang gốc trong iframe ẩn, nhưng nếu bạn thấy rằng hình ảnh cũng tải cookie, bạn có thể chỉ thêm vào mà không làm phiền đến khung nội tuyến.

<iframe src="https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011" 
 
     style="display:none"></iframe> 
 

 
<a 
 
     href="https://sjobs.brassring.com/TGWebHost/jobdetails.aspx?SID=%5eHN7W7Qzw%2fF7gatWoBM6cE0ccmSO%2fucQkl75UsUrOYMnVywG9mXDR2RR1QJ0dl_slp_rhc_16&jobId=790214&type=search&JobReqLang=1&recordstart=1&JobSiteId=5011&JobSiteInfo=790214_5011&GQId=1640">Because the hidden iframe adds the cookie, this link works now!!</a>

+0

thử nghiệm làm việc, đó là thiên tài! (tôi đã viết một kịch bản jquery đính kèm sự kiện onclick vào liên kết và window.open ('https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011') Vì vậy, để thiết lập các cookie cần thiết trên trình duyệt của người dùng nhưng điều đó cũng có nghĩa là mở một tab trên trình duyệt của người dùng (mà không có sự nâng cấp của họ) - đây không phải là một thực hành tốt. Cảm ơn Mobius rất nhiều vì đã chia sẻ, bạn là người rất tốt.) – Dung

+0

vui vì tôi có thể giúp. – Mobius

Các vấn đề liên quan