《Python網絡爬蟲:從入門到實踐》3.4.3自我實踐題:
獲取豆瓣網上TOP250電影的英文名、港臺名、導演、主演、上映年份、電影分類及評分。
學習嘛,就費了點勁自己試了一下,挺耽誤時間的,不過好在搞出來了,書上給的代碼有點問題,不夠全面。
現在把自己測試過的源代碼給大家分享出來,供大家學習借鑑,正好正則表達式一起學了,還是很有收穫的。
由於電影的英文名、港臺名爬取過濾比較麻煩,太耽誤時間,所以忽略掉了,知道怎麼弄就行。
代碼測試時間是2019年11月8日。
以下是 rmv_by_re 模塊中的 rmv_by_re 函數。
import re
def rmv_by_re(regex,somelist,num):
"""根據正則表達式的結構和分組號替換列表中元素"""
results = []
for y in range(0,len(somelist)):
r = re.search(regex,somelist[y])
if r != None :
results.append(r.group(num))
else:
results.append(somelist[y])
return results
以下是主程序:
#3.4.3自我實踐題
import requests
import rmv_by_re
import time
from bs4 import BeautifulSoup
# 導演
dirs = []
# 主演
acts = []
# 年份
year = []
# 類別
categories = []
# 評分
grades = []
def show_lists(dirs,acts,year,categories,grades):
print("共有",len(d