[问题] 电影时刻表爬虫新手问题

楼主: 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