มีห้องสมุดที่สามารถเดินผ่าน AJAX / javascript ได้หรือไม่?

ฉันใช้ PHP เพื่อดึงข้อมูลบางส่วนออกจากหน้าเว็บ แต่ฉันพบว่าข้อมูลที่ฉันพยายามดึงออกจากหน้าเว็บนั้นโหลดผ่าน AJAX/javascript บางลักษณะ ฉันคิดว่าฉันจำได้ว่า Curl สามารถวนซ้ำผ่านจาวาสคริปต์ได้ แต่ฉันพบว่าไม่เป็นเช่นนั้น

ดูเหมือนว่าฉันจะจำไลบรารี/ฟังก์ชัน "เว็บเบราว์เซอร์" แบ็กเอนด์บางประเภทที่สามารถติดตามผ่าน javascript และ AJAX เพื่อให้ได้ผลลัพธ์หน้าสุดท้ายของสิ่งที่เบราว์เซอร์ที่มีฟังก์ชันเต็มรูปแบบจะมาถึง

มีไลบรารีหรือฟังก์ชันที่สามารถทำได้หรือไม่? มีแนวคิดใดบ้างเกี่ยวกับวิธีการดำเนินการนี้ นอกเหนือจากการต้องติดตามสคริปต์/เปลี่ยนเส้นทางด้วยตนเอง ไม่จำเป็นต้องสวยงาม ฉันแค่ต้องการขูดข้อความที่ได้ออกมา


person Coldblackice    schedule 17.06.2012    source แหล่งที่มา


คำตอบ (2)


อาจไม่ใช่ภาษา php แต่ในภาษาอื่น ๆ มี: Watir/WatiN, selenium, watir/selenium-webdriver, capybara-webkit, celerity, node.js รัน js โดยตรง เช่นเดียวกับ phantomjs นอกจากนี้ยังมี iMacros และตัวเลือกเชิงพาณิชย์ที่คล้ายกัน

แต่ฉันมักจะพบว่าฉันสามารถได้รับข้อมูลที่ฉันต้องการโดยไม่ต้องมีสิ่งเหล่านี้ เพียงแค่ดูคำขอที่เพจสร้างขึ้นและสร้างคำขอเหล่านั้นขึ้นมาใหม่/แยกวิเคราะห์การตอบสนอง

person pguardiario    schedule 18.06.2012

ฉันไม่คิดว่าจะมีห้องสมุดแบบนี้ หากคุณหมดหวังจริงๆ และคุณมีเวลาเหลือเฟือ คุณสามารถดาวน์โหลดซอร์สโค้ดของ Firefox และสร้างสิ่งที่มีประโยชน์ให้ตัวเองได้ อย่างไรก็ตาม ฉันไม่คิดว่านี่จะเป็นการใช้ทรัพยากรของคุณหรือของผู้อื่นให้เกิดประโยชน์สูงสุด

โปรดทราบว่าแม้แต่บอทการจัดทำดัชนีของ Google ก็ไม่สามารถประมวลผลอาแจ็กซ์ได้ ต่อไปนี้คือสิ่งที่ Google กล่าวถึง ค่อนข้างเป็นไปได้ที่ไซต์ที่คุณกำลังติดต่อด้วยรองรับสิ่งนี้ ในกรณีนี้ คุณสามารถลองใช้เทคนิคของ Google นี้ แต่โดยรวมแล้ว โชคไม่ดีที่คุณโชคไม่ดี

person Aleks G    schedule 17.06.2012
comment
มีหลักฐานที่ชัดเจนว่าโปรแกรมรวบรวมข้อมูลของ Google ในปัจจุบันมีพื้นฐานมาจาก Chrome อย่างใกล้ชิด และรวบรวมข้อมูลเนื้อหา AJAX ได้ดี: webmasterworld.com/google/4159807.htm - person ; 17.06.2012
comment
@duskwuff ใช่ฉันเห็นโพสต์นั้นมาก่อน อย่างไรก็ตาม หากบันทึกเว็บไซต์ของฉันเป็นสิ่งที่ต้องดำเนินการ Google จะไม่รวบรวมข้อมูล ajax - person Aleks G; 17.06.2012