現(xiàn)在的代碼
import requests
import re
path = 'F:豆瓣Top250.txt'
#抓取網(wǎng)頁
def getHTMLText(url):
try:
r = requests.get(url,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ""
#分析網(wǎng)頁,提取所需信息
def parseHTML(info,html):
try:
tlt = re.findall(r'\"title\"\>[\w\u4e00-\u9fa5].*[\w \u4e00-\u9fa5]*',html)
dirlt = re.findall(r'導演\:\s[\w \u4e00-\u9fa5]+[\·\/\s]*[\w \u4e00-\u9fa5]*',html)
yearlt = re.findall(r'[\d]{4}\ ',html)
coult = re.findall(r'\ \;[\s\u4e00-\u9fa5]+\ ',html)
comlt = re.findall(r'inq\"\>.+\<',html)
rlt = re.findall(r'\"v:average\"\>[0-9]\.[0-9]',html)
for i in range(len(tlt)): #電影個數(shù)
title = re.split('>|<',tlt[i])[1] #用>隔開
direct = dirlt[i].split(': ')[1]
year = yearlt[i].split('&')[0]
country = re.split(';|&',coult[i])[2]
comment = re.split('>|<',comlt[i])[1]
rank = rlt[i].split('>')[1] #用>隔開
info.append([title,year,direct,country,comment,rank])
except:
print("")
def printInfo(info):
tplt = "{:\u3000>7}:{:<7}"
count = 0
for g in info:
with open(path,'a',encoding='utf-8') as f:
count = count + 1
print(tplt.format('序號',count,chr(12288)))
print(tplt.format('電影名稱',g[0],chr(12288)))
print(tplt.format('年份',g[1],chr(12288)))
print(tplt.format('導演',g[2],chr(12288)))
print(tplt.format('國家',g[3],chr(12288)))
print(tplt.format('簡短點評',g[4],chr(12288)))
print(tplt.format('豆瓣評分',g[5],chr(12288)))
print("-------------------------------------")
f.write(tplt.format('序號',count,chr(12288))+'\n')
f.write(tplt.format('電影名稱',g[0],chr(12288))+'\n')
f.write(tplt.format('年份',g[1],chr(12288))+'\n')
f.write(tplt.format('導演',g[2],chr(12288))+'\n')
f.write(tplt.format('國家',g[3],chr(12288))+'\n')
f.write(tplt.format('簡短點評',g[4],chr(12288))+'\n')
f.write(tplt.format('豆瓣評分',g[5],chr(12288))+'\n')
f.write("-------------------------------------"+'\n')
def main():
start_url = "https://movie.douban.com/top250?start="
depth = 10 #總共10頁
infomation = [] #用來存儲相關信息
for i in range(depth):
try:
url = start_url+str(25*i)
html = getHTMLText(url)
parseHTML(infomation,html)
except:
print("")
printInfo(infomation)
main()
而豆瓣那也所在的網(wǎng)頁代碼如下:
<li>
<div class="item">
<div class="pic">
<em class="">100</em>
<a >
<img width="100" alt="貓鼠游戲" src="https://img3.doubanio.com/view/photo/s_ratio_poster/public/p453924541.webp" class="">
</a>
</div>
<div class="info">
<div class="hd">
<a class="">
<span class="title">貓鼠游戲</span>
<span class="title"> / Catch Me If You Can</span>
<span class="other"> / 逍遙法外 / 神鬼交鋒(臺)</span>
</a>
<span class="playable">[可播放]</span>
</div>
<div class="bd">
<p class="">
導演: 史蒂文·斯皮爾伯格 Steven Spielberg 主演: 萊昂納多·迪卡普里奧 L...<br>
2002 / 美國 加拿大 / 傳記 犯罪 劇情
</p>
我用正則表達式匹配工具,是可以匹配出貓鼠游戲的,但是為何這里不行,求好心人幫忙,學爬蟲,總是遇到各種迷之問題o(╯□╰)o
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產業(yè)為響應國家深化產教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。