两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

實戰(zhàn)內(nèi)容:獲取豆瓣TOP250電影的中英文名、港臺名、導演、上映年份、電影分類以及評分,將數(shù)據(jù)存放到數(shù)據(jù)庫和文件中。鏈接為:https://movie.douban.com/top250?start=。

1. 數(shù)據(jù)爬取

爬取網(wǎng)頁數(shù)據(jù)的方式我們在前面介紹過多種,下面來進行數(shù)據(jù)的爬取。

import re
import requests
from bs4 import BeautifulSoup
for i in range(0,2):
    headers = {#這里模擬瀏覽器進行訪問
        'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) 
        AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/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)#設置超時時間
    soup = BeautifulSoup(r.text, "html.parser")#設置解析方式,也可以
    print(soup)

輸出結果為:

<!DOCTYPE html>
<html class="ua-windows ua-webkit">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<meta content="webkit" name="renderer"/>
<meta content="always" name="referrer"/>
<meta content="ok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeyw" name="google-site-verification">
<title>
豆瓣電影 Top 250
</title>
........
</script>
<!-- dae-web-movie--default-759d9f45f7-b69fc-->
<script>_SPLITTEST=''</script>
</link></link></body>
</html>

2.檢查數(shù)據(jù)

這里我們使用Python中的hashlib模塊中的mad5()函數(shù),檢查代碼如下,如果大家是剛剛爬取到的數(shù)據(jù),可以省略這一步。

MD5為計算機安全領域常用的一種加密算法。

import hashlib
def vertifyupdate(html):
    md5 = hashlib.md5()
    md5.update(html.encode(encoding = 'utf-8'))
    md5code = md5.hexdigest()
    print(md5code)
    old_html = ''
    htlm_name = 'gp.txt'
    if os.path.exists(htlm_name):
        with open(htlm_name,'r',encoding='utf-8') as f:
            old_html = f.read()
    if md5code == old_html:
        print('數(shù)據(jù)未更新')
        return False
    else:
        with open(htlm_name,'w',encoding='utf-8') as f:
            f.write(md5code)
        print('數(shù)據(jù)更新了')
        return True

這個函數(shù)需要導入hashlib模塊,然后創(chuàng)建一個md5的對象,把當前頁面的信息傳入,通過使用updata()方法對傳入的數(shù)據(jù)進行MD5運算。

然后使用if語句判斷文件是否存在,如果存在就讀取其中的MD5碼,再通過判斷兩次的MD5碼是否相同,如果一樣就表示沒有更新,反之則進行了更新,把新的MD5碼傳到文件中。

3. 總結

爬取數(shù)據(jù)是我們要做的第一步,如果數(shù)據(jù)存放了很久再進行使用則需要進行檢測,這都是相對簡單的步驟,比較麻煩的就在于如何去獲取到更精準的數(shù)據(jù),下一節(jié)我們來數(shù)據(jù)分析。


點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:

一點編程也不會寫的:零基礎C語言學練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學奧賽或C++選手的 必學C++課程

藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導課程

Dotcpp在線編譯      (登錄可減少運行等待時間)