รูปแบบและการปฏิบัติสำหรับ Web Scraping ใน. Net (C #) [ปิด]


9

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

ฉันใช้Html Agility Pack อยู่แล้วและตระหนักดีว่าเป็นระเบียบถ้าจำเป็น

มีเทคโนโลยีอื่น ๆ ที่ฉันควรทราบหรือไม่?

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


เกี่ยวกับคำแนะนำทีละขั้นตอนหรือเริ่มต้นใช้งาน - การเริ่มต้นอย่างรวดเร็วซึ่งสามารถทำได้ใน 15-20 นาที? ฉันทำให้คุณมีตัวอย่างคำแนะนำทีละขั้นตอนที่ดีเช่นberniecook.wordpress.com/2013/01/13/…ฉันต้องการปิดสมมติฐานต่างๆอย่างรวดเร็วก่อนที่เราจะเริ่มต้น: ติดตั้ง (จำเป็นต้องมีเครื่องมือจำเป็น) ตั้งค่าและ ทำงานได้อย่างรวดเร็ว เป้าหมายจะเป็นตัวอย่าง "ไปและพร้อม" อาจเป็นแอปพลิเคชันตัวอย่างจริงที่ดีกว่า
Kiquenet

คำตอบ:


4

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

นี่คือลิงค์:

Watin.org


Watin เปรียบเสมือนห้องสมุด JavaScript ที่คุณชื่นชอบสำหรับ C #
มัฟฟินแมน

ทางออกสุดท้ายกับแอปพลิเคชันตัวอย่างรหัสต้นฉบับแบบสมบูรณ์ IMHO ตัวอย่างที่ดีขึ้นสำหรับการลดช่วงการเรียนรู้คือแอปพลิเคชั่นจริงที่มีซอร์สโค้ดเต็มรูปแบบและวิธีปฏิบัติที่ดี
Kiquenet

0

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

สำหรับรูปแบบ GoF กลยุทธ์คือตัวเลือกตำราเรียน

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


0

รูปแบบควรมาจากปัญหา แต่นี่คือตัวเลือก:

หากคุณเกี่ยวข้องกับค่าใช้จ่ายในการพัฒนา / การรบกวนอย่างต่อเนื่อง: รูปแบบกลยุทธ์ (ที่กล่าวถึงแล้ว) - ใช้สิ่งนี้เพื่อใช้อินเทอร์เฟซระดับองค์ประกอบและใช้วิธีการเชื่อมโยงแบบไดนามิกเพื่อแก้ไขกลยุทธ์เฉพาะ (การนำไปใช้) คอนเทนเนอร์ IOC (วันนี้ฉันชอบ Autofac) จะทำงานได้ดี

หากคุณต้องการที่จะสนับสนุนข้างต้นบวกมีความจำเป็นที่จะต้องปรับขนาด: แผนที่ลด (ใครรู้ m + r fx ที่ดีสำหรับ. net?)


-1

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.