python day23簡易爬蟲
阿新 • • 發佈:2018-11-19
簡易爬蟲
爬出該網頁的 2018新片精品的"電影名稱""和"下載連結"
如下:
import re
import ssl
import json
from urllib.request import urlopen
ssl._create_default_https_context = ssl._create_unverified_context #幹掉數字簽名證書
# 獲取首頁的新片精品電影的url
url = "https://www.dytt8.net/" #電影天堂首頁url
content = urlopen(url).read().decode(" gbk")
pa = re.compile(r'<td width="85%" height="22" class="inddline">.*?最新電影下載</a>]<a href=\'(?P<wangye>.*?)\'>2018年',re.S)
xiazai = pa.finditer(content)
lst =[] #建立列表,裝電影url
for el in xiazai:
shijiurl ="https://www.dytt8.net"+ el.group("wangye")
lst.append(shijiurl)
#獲取電影名稱
lst_name =[] #建立列表,裝電影名字
pa3 = re.compile(r'<td width="85%" height="22" class="inddline">.*?最新電影下載</a>]<a href=\'.*?《(?P<movie>.*?)》',re.S)
name = pa3.finditer(content)
for el in name:
moviename = el.group("movie")
lst_name.append(moviename)
#獲取電影下載地址
lst_url =[] # 建立列表,裝電影的下載url
for i in lst:
url2 = i
content2 = urlopen(url2).read().decode("gbk")
pa2 = re.compile(r'<td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(?P<xiazaiurl>.*?)">',re.S)
xiazai2 = pa2.search(content2)
lst_url.append(xiazai2.group('xiazaiurl'))
#儲存為json字串並寫入movie.json檔案中儲存.
dic = {"電影":[],"下載地址":[]} #建立字典,裝電影名和下載連結
f = open("movie.json", mode="w", encoding="utf-8")
for i in range(len(lst_name)):
dic["電影"] = lst_name[i]
dic["下載地址"] = lst_url[i]
j = json.dumps(dic, ensure_ascii=False)
f.write(j+"\n")
f.close()
最後效果圖: