เนื้อหาที่เป็นประโยชน์: รับชื่อภาษาจีนและอังกฤษ ชื่อฮ่องกงและไต้หวัน ผู้กำกับ ปีที่ออกฉาย การจัดหมวดหมู่ภาพยนตร์ และเรตติ้งภาพยนตร์ 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 ใหม่ไปยังไฟล์
การรวบรวมข้อมูลเป็นขั้นตอนแรกที่เราต้องทำ หากข้อมูลถูกเก็บไว้เป็นเวลานานก่อนที่จะนำไปใช้ จะต้องตรวจพบ ขั้นตอนเหล่านี้ค่อนข้างจะยุ่งยากกว่า ส่วนถัดไป มาทำการวิเคราะห์ข้อมูลกัน