某电影网站信息的爬取【干货】

一、信息页面的处理

某电影网站信息的爬取【干货】_第1张图片
我们所需信息前面有空格,去除空格:

def parse_info(info,rule):
	return info.replace(rule,"").strip()

利用for循环得到我们所需要的右侧内容,左侧内容使用startswith()函数处理

if info.startswith('◎年  代'):
                    time = parse_info(info,'◎年  代')
                elif info.startswith('◎产  地'):
                    area = parse_info(info,'◎产  地')
                elif info.startswith('◎类  别'):
                    types = parse_info(info,'◎类  别')

以上内容后面只有一行内容,获取简单,但对于下列像演员这样的信息的获取要是利用上面的内容获取,则只能获取第一行,下面的内容则获取不到。
这时我们就得利用索引解决,使用enumrate()函数,找到结束标志即可获取。
以下内容结束标志为:“◎”

某电影网站信息的爬取【干货】_第2张图片

elif info.startswith('◎演  员'): #得到第一个演员
      actor = parse_info(info,'◎演  员')
      actors = [actor]
      for x in range(index+1, len(infos)): #得到其他演员
	      actor = infos[x].strip()
	      if actor.startswith('◎'):
          	break
          actors.append(actor) #添加必须在判断后面

下面我们看看简介的获取:
上面内容的结束标志很好找,因为它下一个内容就是—简介
简介的结束内容是一个文本或超链接,并且每个电影简介后面的内容都不一样,结束标志并不能像上面那样处理。
所以我们要使用XPath语法找到该内容,通过传参来定义结束标志。

某电影网站信息的爬取【干货】_第3张图片
某电影网站信息的爬取【干货】_第4张图片

end = html.xpath('//font[@size="4"]/text()')[0

你可能感兴趣的:(网络爬虫,python,爬虫,数据挖掘)