reppy

ภาพหน้าจอของซอฟแวร์:
reppy
รายละเอียดซอฟแวร์:
รุ่น: 0.1.0
วันที่อัพโหลด: 11 May 15
ผู้พัฒนา: Dan Lecocq
การอนุญาต: ฟรี
ความนิยม: 5

Rating: nan/5 (Total Votes: 0)

Reppy เริ่มต้นจากการขาดการสนับสนุนใน memoization parsers robots.txt อื่น ๆ ที่พบและการขาดการสนับสนุนสำหรับความล่าช้า-การรวบรวมข้อมูลและแผนผังเว็บไซต์ในในตัว robotparser
จับคู่
แพคเกจนี้รองรับ RFC 1996, เช่นเดียวกับคุณสมบัติโดยทั่วไปดำเนินการเพิ่มเติมเช่นการจับคู่ตัวแทนรวบรวมข้อมูลล่าช้าและแผนผัง มีวิธีที่แตกต่างกันกับการจับคู่อนุญาตให้มีและไม่อนุญาตให้ วิธีการหนึ่งคือการใช้การแข่งขันที่ยาวที่สุด หนึ่งคือการใช้ที่เฉพาะเจาะจงมากที่สุด แพคเกจนี้เลือกที่จะทำตามคำสั่งที่ยาวที่สุดในสมมติฐานที่ว่ามันเป็นหนึ่งในที่เฉพาะเจาะจงมากที่สุด - คำที่เป็นเพียงเล็กน้อยยากที่จะกำหนดในบริบทนี้

การใช้งาน

วิธีที่ง่ายที่สุดที่จะใช้ Reppy เป็นเพียงการถามว่า URL หรือ URL ที่เป็น / ได้รับอนุญาต:
นำเข้า Reppy
# นี่โดยปริยายเรียก robot.txt example.com ของ
reppy.allowed (http://example.com/howdy)
# => ทรู
# ตอนนี้ก็ขึ้นอยู่กับแคชเมื่อมันควรจะหมดอายุ (อ่านเพิ่มเติมใน `Expiration`)
reppy.allowed (http://example.com/hello)
# => ทรู
# นอกจากนี้ยังสนับสนุนคำสั่งชุด
reppy.allowed (['http://example.com/allowed1', 'http://example.com/allowed2', 'http://example.com/disallowed'])
# => ['http://example.com/allowed1', 'http://example.com/allowed2']
# คำสั่งรุ่นที่ได้รับการสนับสนุนแม้กระทั่งข้ามหลายโดเมน (แม้ว่าการเรียกไม่ได้ทำในแบบคู่ขนาน)
reppy.allowed (['http://a.com/allowed', 'http://b.com/allowed', 'http://b.com/disallowed'])
# => ['http://a.com/allowed', 'http://b.com/allowed']
มันสวยใช้งานง่าย พฤติกรรมเริ่มต้นคือการเรียกให้คุณกับ urllib2
นำเข้า Reppy
# ให้ Reppy วัตถุที่เกี่ยวข้องกับโดเมนเฉพาะ
r = reppy.fetch (http://example.com/robots.txt)
แต่คุณสามารถได้อย่างง่ายดายเพียงแยกสตริงที่คุณเรียก
นำเข้า urllib2
ข้อมูล = urllib2.urlopen (http://example.com/robots.txt ') อ่าน ()
r = reppy.parse (ข้อมูล)
หมดอายุ
ประโยชน์หลักของการมี Reppy เรียก robots.txt สำหรับคุณก็คือว่ามันจะสามารถ refetch หลังจากที่ข้อมูลที่ได้หมดอายุแล้ว มันสมบูรณ์โปร่งใสให้กับคุณเพื่อให้คุณไม่ต้องคิดเกี่ยวกับมัน - เพียงแค่ให้ใช้มันตามปกติ หรือถ้าคุณต้องการคุณสามารถตั้งเวลาในการมีชีวิตอยู่ของคุณเองซึ่งจะมีความสำคัญ:
นำเข้า Reppy
r = reppy.fetch (http://example.com/robots.txt)
r.ttl
# => 10800 (นานแค่ไหนที่จะมีชีวิตอยู่?)
r.expired ()
# => เท็จ (มีมันหมดอายุ?)
r.remaining ()
# => 10,798 (นานเท่าไหร่ถึงจะหมดอายุ)
r = reppy.fetch (http://example.com/robots.txt 'TTL = 1)
# รอ 2 วินาที
r.expired ()
# => ทรู
แบบสอบถาม
Reppy พยายามที่จะติดตามการโฮสต์เพื่อที่คุณจะได้ไม่ต้อง นี้จะกระทำโดยอัตโนมัติเมื่อคุณใช้เรียกหรือคุณสามารถเลือกที่จะให้ URL ที่คุณเรียกมันออกมาจากที่มีการแยก การทำเช่นนี้จะช่วยให้คุณเพื่อให้เพียงเส้นทางเมื่อสอบถาม มิฉะนั้นคุณจะต้องให้สมาชิกทั้งหมด:
# นี่เป็น doable
r = reppy.fetch (http://example.com/robots.txt)
r.allowed ('/')
r.allowed (['/ สวัสดี', '/ หมอตำแย'])
# และเพื่อให้เป็นแบบนี้
ข้อมูล = urllib2.urlopen (http://example.com/robots.txt ') อ่าน ()
r = reppy.parse (ข้อมูล url = 'http: //example.com/robots.txt)
r.allowed (['/', '/ สวัสดี', '/ หมอตำแย'])
# แต่เราไม่ทราบว่าโดยปริยายเหล่านี้มาจากโดเมน
reppy.allowed (['/', '/ สวัสดี', '/ หมอตำแย'])
การรวบรวมข้อมูลล่าช้าและแผนที่เว็บไซต์
Reppy ยัง exposes ไม่ใช่ RFC แต่ใช้กันอย่างแพร่หลายรวบรวมข้อมูลล่าช้าและคุณลักษณะแผนที่เว็บไซต์ ความล่าช้าในการรวบรวมข้อมูลเกี่ยวกับการได้รับการพิจารณาต่อผู้ใช้พื้นฐานตัวแทน แต่แผนผังเว็บไซต์ทั่วโลกได้รับการพิจารณา หากพวกเขาจะไม่ได้ระบุความล่าช้าในการรวบรวมข้อมูลเป็นไม่มีและแผนผังเป็นรายการที่ว่างเปล่า ตัวอย่างเช่นถ้าเป็น robots.txt ของฉัน:
User-agent: *
การรวบรวมข้อมูลล่าช้า: 1
แผนผังเว็บไซต์: http://example.com/sitemap.xml
แผนผังเว็บไซต์: http://example.com/sitemap2.xml
แล้วเหล่านี้จะสามารถเข้าถึงได้:
กับแฟ้ม (myrobots.txt ',' R ') เป็น f:
& nbsp; r = reppy.parse (f.read ())
r.sitemaps
# => ['http://example.com/sitemap.xml', 'http://example.com/sitemap2.xml']
r.crawlDelay
# => 1
User-Agent จับคู่
คุณสามารถให้ตัวแทนของผู้ใช้ที่คุณเลือกสำหรับการเรียก robots.txt แล้วสตริงตัวแทนผู้ใช้ให้ตรงกับที่เราเป็นที่ผิดนัดกับสิ่งที่ปรากฏขึ้นก่อนที่แรก / ตัวอย่างเช่นถ้าคุณให้ตัวแทนของผู้ใช้เป็น 'MyCrawler / 1.0' แล้วเราจะใช้ 'MyCrawler' เป็นสตริงเพื่อให้ตรงกับ User-agent เปรียบเทียบกรณีตายและเราไม่สนับสนุนสัญลักษณ์ในตัวแทนผู้ใช้ หากเริ่มต้นนี้ไม่เหมาะกับคุณคุณสามารถให้ทางเลือก:
# นี่จะตรงกับ 'myuseragent' โดยค่าเริ่มต้น
r = reppy.fetch (http://example.com/robots.txt 'userAgent =' MyUserAgent / 1.0)
# นี่จะตรงกับ 'someotheragent' แทน
r = reppy.fetch (http://example.com/robots.txt 'userAgent =' MyUserAgent / 1.0 'userAgentString =' someotheragent)
เส้นทางจับคู่
เส้นทางการจับคู่สนับสนุนทั้ง * และ $

คุณสมบัติ

  • memoization ของ robots.txt เรียก
  • หมดอายุนำมาจากส่วนหัวหมดอายุ
  • ชุดคำสั่ง
  • ตัวแทนผู้ใช้สามารถกำหนดค่าสำหรับการเรียก robots.txt
  • เบส refetching อัตโนมัติหมดอายุ
  • การสนับสนุนสำหรับการรวบรวมข้อมูลล่าช้า
  • การสนับสนุนสำหรับแผนที่เว็บไซต์
  • การจับคู่สัญลักษณ์

ต้องการ

  • งูใหญ่

ซอฟแวร์อื่น ๆ ของนักพัฒนา Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

asis
asis

20 Feb 15

ความคิดเห็นที่ reppy

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!