需求:爬取貓眼top100 movie
? ? ? ? ? ?包含內(nèi)容 ['序號(hào)'摔竿, ‘電影名稱’, ‘主演’熬苍, ‘上映日期’袁翁, ‘評(píng)分’]
? ? ? ? ? ?數(shù)據(jù)保存為csv格式文檔
步驟:
步驟一:需求拆解
爬取貓眼top movie, 此次實(shí)例為selenium方法爬取
包含內(nèi)容粱胜,設(shè)計(jì)追中輸出是一個(gè)列表嵌套字典的形式,例如:
result_lst = [ {'序號(hào)': 1, '電影名稱':XXX鸿脓,‘主演’:XXX XXX涯曲, ‘上映日期’:XXXX-XX-XX, ‘評(píng)分‘: X.X},?
? ? ? ? ? ? ? ? ? ? ?{'序號(hào)': 2, '電影名稱':XXX拨黔,‘主演’:XXX XXX绰沥, ‘上映日期’:XXXX-XX-XX徽曲, ‘評(píng)分‘: X.X},?
? ? ? ? ? ? ? ? ? ? ?{'序號(hào)': 3, '電影名稱':XXX,‘主演’:XXX XXX瞻润, ‘上映日期’:XXXX-XX-XX甜刻, ‘評(píng)分‘: X.X},?
? ? ? ? ? ? ? ? ? ? ? ...,
? ? ? ? ? ? ? ? ? ?]
使用csv.Dictwriter() 方法將最終的數(shù)據(jù)結(jié)果寫入CSV
步驟二:分析頁面
最小父級(jí)標(biāo)簽為 dl, dl標(biāo)簽下每一個(gè) dd 標(biāo)簽都是一個(gè)電影信息
右鍵查看網(wǎng)頁源代碼傻铣,Ctrl + F 查找dd 標(biāo)簽祥绞,發(fā)現(xiàn)源代碼中有所有需要的信息:
步驟三:匹配最小父級(jí)標(biāo)簽,匹配并列子集標(biāo)簽败京、定義解析公式梦染、獲取每一頁的信息
dd. text? 打印結(jié)果
dd. text 可以獲取所有dd 子集內(nèi)的文本帕识,可以將它們以換行符 ’\n‘ 拆分正列表元素
步驟四:翻頁
第二頁網(wǎng)頁的,下一頁標(biāo)簽
最后一頁網(wǎng)頁晶姊,沒有下一頁按鈕:
思路:除了最后一頁们衙,之前每一頁都有“下一頁”這個(gè)按鈕碱呼,找到并且點(diǎn)擊,進(jìn)入下一頁,實(shí)現(xiàn)翻頁
最后一頁時(shí)凝垛,繼續(xù)尋找"下一頁" 按鈕并且點(diǎn)擊梦皮,如果找不到,捕獲異常報(bào)錯(cuò)剑肯,并且退出翻頁循環(huán)
完整代碼如下: