[問題] 電影時刻表爬蟲新手問題

作者: students (無敵風火輪)   2018-04-17 11:04:51
最近在練習寫爬蟲,又被一些基本觀念的問題給卡住了,以下是威秀影城的爬蟲程式碼。
#復仇者聯盟頁面
MOVIE_URL = 'http://www.vscinemas.com.tw/vsTicketing/ticketing/ticket.aspx?cin
ema=1|TP&movie=HO00006836'
#確認URL存在
def get_web_page(url):
resp = requests.get(url)
if resp.status_code != 200:
print('無效的URL:',resp.url)
return None
else:
return resp.text
#找出電影資訊的模組
def get_movie(dom):
soup = BeautifulSoup(dom,'html5lib')
movies = []
divs = soup.find('ul','bookList').find_all('li')
for div in divs:
movie = dict()
movie['name'] = soup.find('div','movieDescribe').h1.text
movie['date'] = div.parent.find_previous_sibling('h4').text
movie['time'] = div.text
movies.append(movie)
return movies
#主程式模組
def main():
page = get_web_page(MOVIE_URL)
if page:
s = get_movie(page)
print(s)
for a in s:
print(a['name'],a['date'],a['time'])
if __name__ == '__main__':
main()
作者: coeric ( )   2018-04-17 11:38:00
把你的迴圈 for div in divs 內的 name,date拉出來time部份去做一個小dict,迴圈跑完,再塞到movie['time']
作者: vi000246 (Vi)   2018-04-17 11:46:00
1.關鍵字datetime format 去找個lib把中文時間轉date類型 再轉成你要的格式2.你可能要先把json轉成強型別物件 dict、class、tuple之類的 再用名稱做group by 把時間撈出來成一個list
作者: coeric ( )   2018-04-17 12:31:00
時間的部份,我應該會用re取出或是用datetime內的strptime也可 只是星期幾的部份比較麻煩點,是否有其他高手一行文?
作者: uranusjr (←這人是超級笨蛋)   2018-04-17 12:46:00
星期幾反正根本不需要, 直接 [:-3] 去掉就好
作者: coeric ( )   2018-04-17 12:47:00
同意樓上,因為有日期後,自然可以用isoweekday重現
作者: vi000246 (Vi)   2018-04-18 14:34:00
啊 我看錯問題了 日期直接取出來即可

Links booklink

Contact Us: admin [ a t ] ucptt.com