คำถามติดแท็ก urlopen

14
หน้าจาวาสคริปต์การขูดเว็บด้วย Python
ฉันพยายามที่จะพัฒนามีดโกนเว็บอย่างง่าย ฉันต้องการแยกข้อความโดยไม่มีรหัส HTML ในความเป็นจริงฉันบรรลุเป้าหมายนี้ แต่ฉันเห็นว่าในบางหน้าเว็บที่โหลด JavaScript ฉันไม่ได้รับผลลัพธ์ที่ดี ตัวอย่างเช่นหากรหัส JavaScript บางตัวเพิ่มข้อความฉันไม่เห็นเพราะเมื่อฉันโทร response = urllib2.urlopen(request) ฉันได้รับข้อความต้นฉบับโดยไม่มีข้อความเพิ่ม (เพราะมีการใช้งาน JavaScript ในไคลเอนต์) ดังนั้นฉันกำลังมองหาแนวคิดเพื่อแก้ไขปัญหานี้

12
ให้วัตถุ JSON ยอมรับไบต์หรือให้ urlopen สตริงออก
ด้วย Python 3 ฉันกำลังขอเอกสาร json จาก URL response = urllib.request.urlopen(request) responseวัตถุเป็นวัตถุไฟล์เช่นเดียวกับreadและreadlineวิธีการ โดยปกติแล้ววัตถุ JSON สามารถสร้างขึ้นด้วยไฟล์ที่เปิดในโหมดข้อความ obj = json.load(fp) สิ่งที่ฉันต้องการจะทำคือ: obj = json.load(response) อย่างไรก็ตามสิ่งนี้ไม่ทำงานเมื่อ urlopen ส่งคืนวัตถุไฟล์ในโหมดไบนารี แน่นอนว่าการทำงานรอบ ๆ : str_response = response.read().decode('utf-8') obj = json.loads(str_response) แต่สิ่งนี้รู้สึกไม่ดี ... มีวิธีที่ดีกว่าที่ฉันสามารถแปลงวัตถุไฟล์ไบต์เป็นวัตถุไฟล์สตริง? หรือฉันไม่มีพารามิเตอร์ใด ๆ สำหรับurlopenหรือjson.loadให้การเข้ารหัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.