当前位置:   article > 正文

python爬虫大作业任务书_爬虫大作业

python第三方数据库爬取网站大作业

通过 爬取2345电影网的电影信息 ,通过电影的类型和评分分别生成相应的词云 进行数据分析

一、准备过程

首先打开2345电影网的热播电影区,网址是https://dianying.2345.com/list/------.html

1022948-20180422113040198-1196877379.png

在这里可以通过审查模式看到第一页的详细信息,而目的则是通过爬取热播页面的每个电影的评分 和 类型来分析最近影迷的观影需求

环境如下:

python3.6.2    PyCharm

Windows7  第三方库(jieba,wordcloud,bs4,Requests,re,wordcloud)

二、代码

1.用requests库和BeautifulSoup库,爬取电影网当前页面的每个电影的电影名、评分、简介、地区、年代、链接等,将获取电影详情的代码定义成一个函数 def getNewDetail(newsUrl):

importrequestsimportrefrom bs4 importBeautifulSoupfrom datetime importdatetimeimportpandas

new={}

defgetNewsDetail(newsUrl):

resd=requests.get(newsUrl)

resd.encoding= 'gb2312'soupd= BeautifulSoup(resd.text, 'html.parser')print(newsUrl)

news={}

news['title']=soupd.select('.tit')[0].select('h1')[0].text #标题

news['emSorce']=float(soupd.select('.tit')[0].select('.pTxt')[0].text.split('\ue60e')[0].rstrip('分')) #评分

#s=soupd.select('.li_4')[1].text.split()[1:]

#if(len(s)>0):

#str=''

#for i in s:

#str=str+i

#print(str)

#writeNewsDetail(str)

news['content:']=soupd.select('.sAll')[0].text.strip() #内容

s = soupd.select('.wholeTxt')[0].text

news['area'] = s[s.find('地区:'):s.find('语言:')].split()[1] #地区

news['tit']=soupd.select('.li_4')[3].text.strip().split()[1] #年代

if len(soupd.select('.li_4')[3].text)>0:

news['tit']=soupd.select('.li_4')[3].text.strip().split()[1]else:

news['tit']=='none'new[soupd.select('.tit')[0].select('h1')[0].text ]= news['emSorce']return news

2.取出一个电影列表页的全部电影 包装成函数def getListPage(pageUrl):

defgetListPage(pageUrl):

res=requests.get(pageUrl)

res.encoding= 'gb2312'soup= BeautifulSoup(res.text, 'html.parser')

newslist=[]for i in soup.select('.v_tb')[0].select(

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号