爬虫大作业(代码片段)

123-王展洪 123-王展洪     2022-11-05     253

关键词:

1.爬取豆瓣电影top250。(所有同学不能雷同)

2.用python 编写爬虫程序,从网络上爬取相关主题的数据。

import requests
from bs4 import BeautifulSoup
from datetime import datetime
import re
import pandas

# 电影简介保存到txt。
def writeNewsDetail(content):
    f = open(\'wzh.txt\', \'a\',encoding=\'utf-8\')#文件名、打开方式
    f.write(content)#写入
    f.close()#关闭文件

#电影的简介
def getMovieDetail(url):
    resd = requests.get(url)
    resd.encoding = \'utf-8\'
    soupd = BeautifulSoup(resd.text, \'html.parser\')
    movies=
    if (int(len(soupd.select(\'#link-report\'))) > 0):
        movies[\'content\'] = soupd.select(\'#link-report\')[0].text
    else:
        movies[\'content\'] =\'none\'
    if (int(len(soupd.select(\'.attrs\'))) > 0):
        movies[\'director\'] = soupd.select(\'.attrs\')[0].text
    else:
        movies[\'director\']=\'none\'
    if (int(len(soupd.select(\'.actor a\'))) > 0):
        movies[\'actor\'] = soupd.select(\'.actor a\')[0].text
    else:
        movies[\'actor\'] = \'none\'
    if(int(len(soupd.select(\'h1\')))>0):
        movies[\'name\']=soupd.select(\'h1\')[0].text
    else:
        movies[\'name\'] = \'none\'
    if(int(len(soupd.select(\'strong\'))) > 0):
        movies[\'score\'] = soupd.select(\'strong\')[0].text
    else:
        movies[\'score\'] =\'none\'
    movies[\'url\'] = url
    return (movies)

# 电影列表页的总页数
def getPageN(url):
    res = requests.get(url)
    res.encoding = \'utf-8\'
    soup = BeautifulSoup(res.text, \'html.parser\')
    #num = soup.select(\'.paginator a\')[-2].text
    print(\'列表页数:\',num)

#一个列表页全部电影
def getListPage(url):
    res = requests.get(url)
    res.encoding = \'utf-8\'
    soup = BeautifulSoup(res.text, \'html.parser\')
    moviesList = []
    urls = soup.select(\'.hd a\')
    # for i in range(10):
    #     if(i==0)
    #     urls=\'htthttps://movie.douban.com/top250?start=25&filter=\'
    for j in range(int(len(urls))):
        url = soup.select(\'.hd a\')[j].attrs[\'href\']
        moviesList.append(getMovieDetail(url))#在列表末尾添加新的对象
    return (moviesList)

moviesTotal = []
Url = \'https://movie.douban.com/top250?start=0&filter=\'
moviesTotal.extend(getListPage(Url))  # 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
getPageN(Url)
dt =pandas.DataFrame(moviesTotal)
dt.to_excel("wzh.xlsx")
print(dt)

 

3.对爬了的数据进行文本分析,生成词云。

import jieba.analyse
from PIL import Image,ImageSequence
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
lyric= \'\'
f=open(\'wzh.txt\',\'r\',encoding=\'utf-8\')
for i in f:
    lyric+=f.read()


result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)
keywords = dict()
for i in result:
    keywords[i[0]]=i[1]
print(keywords)


image= Image.open(\'tim.png\')
graph = np.array(image)
wc = WordCloud(font_path=\'./fonts/simhei.ttf\',background_color=\'Green\',max_words=50,mask=graph)
wc.generate_from_frequencies(keywords)
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis("off")
plt.show()
wc.to_file(\'dream.png\')

4.对文本分析结果进行解释说明。

对于爬虫结果,我们可以看出评分高的电影有哪些类型,哪些导演的电影作品比较好看,哪些演员演得电影比较出名,哪些年代的电影比较受欢迎

 

5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。

问题:没有爬出完整的top250de 电影,使用for循环,10个列表页逐个提取

PyCharm中导入wordcloud是出错,没生成词云统计图

 

6.最后提交爬取的全部数据、爬虫及数据分析源代码。

爬虫大作业(代码片段)

 importjieba.analysefromPILimportImage,ImageSequenceimportnumpyasnpimportmatplotlib.pyplotaspltfromwordcloudimportWordCloud,ImageColorGeneratorimportrequestsfromurllibimportparsefrombs4importBeau 查看详情

爬虫大作业(代码片段)

importrequestsimportrefrombs4importBeautifulSoupimportjieba.analysefromPILimportImage,ImageSequenceimportnumpyasnpimportmatplotlib.pyplotaspltfromwordcloudimportWordCloud,ImageColorGenerator#获取总页数defg 查看详情

爬虫大作业(代码片段)

1.主题爬取小说网站的《全职高手》小说第一章 2.代码 导入包importrandomimportrequestsimportreimportmatplotlib.pyplotaspltfromwordcloudimportWordCloud,ImageColorGenerator,STOPWORDSimportjiebaimportnumpyasnpfromPILimport 查看详情

爬虫大作业(代码片段)

#-*-coding:utf-8-*-#第三方库importscrapyfromscrapy.spidersimportSpiderfromlxmlimportetreeimportreimportjiebafromBoKeYuan.itemsimportBokeyuanItemclassBlogYuanSpider(Spider):name=‘blog_yuan‘start_urls=[‘htt 查看详情

爬虫大作业(代码片段)

词云生成importjiebaimportPILfromwordcloudimportWordCloudimportmatplotlib.pyplotaspimportosinfo=open(‘wmh.txt‘,‘r‘,encoding=‘utf-8‘).read()text=‘‘text+=‘‘.join(jieba.lcut(info))wc=WordCloud(font_path=‘./fo 查看详情

爬虫大作业(代码片段)

代码:#encoding=utf-8importreimportrequestsimporturllib2importdatetimeimportMySQLdbfrombs4importBeautifulSoupimportsysreload(sys)sys.setdefaultencoding("utf-8")classSplider(object):def__init__(self):prin 查看详情

爬虫大作业(代码片段)

importrequests,re,jiebafrombs4importBeautifulSoupfromdatetimeimportdatetime#获取新闻细节defgetNewsDetail(newsUrl):resd=requests.get(newsUrl)resd.encoding=‘gb2312‘soupd=BeautifulSoup(resd.text,‘html.parser‘) 查看详情

爬虫大作业(代码片段)

1.爬取豆瓣电影top250。(所有同学不能雷同)2.用python编写爬虫程序,从网络上爬取相关主题的数据。importrequestsfrombs4importBeautifulSoupfromdatetimeimportdatetimeimportreimportpandas#电影简介保存到txt。defwriteNewsDetail(content):f=open(‘wzh.txt‘,‘a 查看详情

爬虫大作业(代码片段)

用python编写爬虫程序,从网络上爬取相关主题的数据importrequestsfrombs4importBeautifulSoupasbsdefgetreq(url):header=‘user-agent‘:‘Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/59.0.3071.115Safar 查看详情

爬虫大作业(代码片段)

对豆瓣读书网进行书评书单推荐简介和推荐链接数据爬取:  frombs4importBeautifulSoupimportrequestsimportjiebaimporttimeimportdatetimer=requests.get(‘https://book.douban.com‘)lyrics=‘‘html=r.textsoup=BeautifulSoup(html,‘html.parser 查看详情

爬虫大作业(代码片段)

通过爬游侠网的游戏资讯页面,获取新闻标题和作者,并对作者进行统计,网站http://www.ali213.net/news/game/首先是要对网站发送请求下面是我的代码fromurllib.parseimportquoteimportstringclassHtmlDownloader(object):defdownload(self,url):ifurlisNone:returnNo... 查看详情

爬虫大作业(代码片段)

...能雷同)我选了附近松田学校的校园网来爬取2.用python编写爬虫程序,从网络上爬取相关主题的数据。#-*-coding:utf-8-*-importrequestsfrombs4importBeautifulSoupasbsdefgettext(url):header=‘user-agent‘:‘Mozilla/5.0(WindowsNT10.0; 查看详情

爬虫大作业(代码片段)

defget_content_info(content_url):res=requests.get(content_url)res.encoding=‘gbk‘soup=BeautifulSoup(res.text,‘html.parser‘)returnsoup.select(‘#endText‘)[0].textdefget_page_info(page_url):res=requests.g 查看详情

爬虫大作业(代码片段)

...点数据。爬取的站点:http://heyuan.8684.cn/ 2.用python编写爬虫程序,从网络上爬取相关主题的数据。(1)环境配置:importrequests##导入requestsfrombs4importBeautifulSoup##导入bs4中的BeautifulSouphead 查看详情

爬虫大作业(代码片段)

...,与校园新闻版面类似,爬去50页  2.用python编写爬虫程序,从网络上爬取相关主题的数据。 利用所学知识,导入要用的类importrequestsfrombs4importBeautifulSoupimportjieba审查元素,获取网页内容  3.对爬了的数据进行 查看详情

爬虫大作业(代码片段)

 打开酷我新歌排行榜,网址是http://www.kuwo.cn/bang/index  代码:用requests库和BeautifulSoup库,爬取酷我新歌榜当前页面的每首的曲目、作者、歌词、排行、链接等,将获取歌曲详情的代码定义成一个函数 musicUrl=‘http://... 查看详情

爬虫大作业(代码片段)

...也想比较下标题党还是和实际内容的差异。2.用python编写爬虫程序,从网络上爬取相关主题的数据。3.对爬了的数据进行文本分析,生成词云。4.对文本分析结果进行解释说明。5.写一篇完整的博客,描述上述实现过程、遇到的问... 查看详情

python大作业——爬虫+可视化+数据分析+数据库(可视化篇)(代码片段)

相关链接Python大作业——爬虫+可视化+数据分析+数据库(简介篇)Python大作业——爬虫+可视化+数据分析+数据库(爬虫篇)Python大作业——爬虫+可视化+数据分析+数据库(数据分析... 查看详情