เนื้อหาที่เป็นประโยชน์: รับชื่อภาษาจีนและอังกฤษ ชื่อฮ่องกงและไต้หวัน ผู้กำกับ ปีที่ออกฉาย การจัดหมวดหมู่ภาพยนตร์ และเรตติ้งภาพยนตร์ TOP250 ของ Douban และจัดเก็บข้อมูลไว้ในฐานข้อมูลและไฟล์ ลิงค์คือ: https://movie.douban.com/top250?start=
เราได้แนะนำวิธีการรวบรวมข้อมูลหน้าเว็บไว้หลายวิธีแล้ว มารวบรวมข้อมูลด้านล่างกัน
importreimportrequestsfrombs4importBeautifulSoupforiinrange(0,2):headers={#This simulates a browser to access'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.82Safari /537.36','Host':'movie.douban.com'}res='https://movie.douban.com/top250?start='+str(25*i)#25 ครั้ง r=requests.get( res,headers=headers,timeout=10)#Set the timeout slow=BeautifulSoup(r.text,html.parser)#Set the parsing method คุณยังสามารถพิมพ์(soup) ได้ด้วยผลลัพธ์คือ:
<!DOCTYPEhtml><htmlclass=ua-windowsua-webkit><head><metacontent=text/html;charset=utf-8http-equiv=Content-Type/><metacontent=webkitname=renderer/><metacontent=alwaysname=referrer /><metacontent=ok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeywname=google-site-verification><title>ภาพยนตร์ Douban 250 อันดับแรก</title>.....</script><!--dae-web-movie--default-759d9f45f7- b69fc-- ><script>_SPLITTEST=''</script></link></link></body></html>
ที่นี่เราใช้ฟังก์ชัน mad5() ในโมดูล hashlib ใน Python รหัสตรวจสอบจะเป็นดังนี้ หากคุณเพิ่งรวบรวมข้อมูล คุณสามารถข้ามขั้นตอนนี้ได้
MD5 เป็นอัลกอริธึมการเข้ารหัสที่ใช้กันทั่วไปในด้านการรักษาความปลอดภัยคอมพิวเตอร์
importhashlibdefvertifyupdate(html):md5=hashlib.md5()md5.update(html.encode(encoding='utf-8'))md5code=md5.hexdigest()พิมพ์(md5code)old_html=''htlm_name='gp.txt 'ifos.path.exists(htlm_name):withopen(htlm_name,'r',encoding='utf-8')asf:old_html=f.read()ifmd5code==old_html:print('ข้อมูลไม่ได้รับการอัพเดต')returnFalseelse: withopen(htlm_name,'w',encoding='utf-8')asf:f.write(md5code)print('data updated')returnTrueฟังก์ชันนี้จำเป็นต้องนำเข้าโมดูล hashlib จากนั้นสร้างออบเจ็กต์ md5 ส่งผ่านข้อมูลของหน้าปัจจุบัน และดำเนินการ MD5 กับข้อมูลขาเข้าโดยใช้เมธอด updata()
จากนั้นใช้คำสั่ง if เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่ หากมี ให้อ่านโค้ด MD5 ในนั้น แล้วตรวจสอบว่าโค้ด MD5 ทั้งสองเหมือนกันหรือไม่ แสดงว่าไม่มีการอัพเดต ได้รับการอัปเดตและส่งรหัส MD5 ใหม่ไปยังไฟล์
การรวบรวมข้อมูลเป็นขั้นตอนแรกที่เราต้องทำ หากข้อมูลถูกเก็บไว้เป็นเวลานานก่อนที่จะนำไปใช้ จะต้องตรวจพบ ขั้นตอนเหล่านี้ค่อนข้างจะยุ่งยากกว่า ส่วนถัดไป มาทำการวิเคราะห์ข้อมูลกัน