猫眼top100数据解析
这是继上篇爬取数据后的数据解析,且尝试使用更多种方法去抓取、存储数据。上篇链接为link
抓取数据方法介绍
1.利用正则表达式解析
def parse_one_page(html):
pattern = '<dd>.*?board-index.*?">(\d+)</i>.*?data-src="(.*?)".*?/>.*?movie-item-info.*?title="(.*?)".*?star">' + \
'(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(\d+)</i>.*?</dd>'
# re.S匹配任意字符,多行
regex = re.compile(pattern, re.S)
items = regex.findall(html)
for item in items:
yield {
'index': item[0],
'thumb': get_large_thumb(item[1]),
'title': item[2],
'actors': item[3].strip()[3:],
'release_time': get_release_time(item[4].strip()[5:]),
'area': get_release_area(item[4].strip()[5:]),
'score': item[5] + item[6]
}
pass
pass
2.使用lxml中Xpath路径解析
def parse_one_page2(html):
parse = etree.HTML(html)
items = parse.xpath("//*[@id='app']//div//dd")
for item in items:
yield{
'index':item.xpath("./i/text()")[0],
'thumb':get_large_thumb(str(item.xpath("./a/img[2]/@data-src")[0