爬虫大作业之广商足球快讯(爬取足球新闻)

Posted hasbb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫大作业之广商足球快讯(爬取足球新闻)相关的知识,希望对你有一定的参考价值。

1.选一个自己感兴趣的主题(所有人不能雷同)。

主题:爬取足球新闻相关信息

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

 

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

txt

词云:

 

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

def getNewsDetail(Url):
    resd = requests.get(Url)
    resd.encoding = \'utf-8\'
    soupd = BeautifulSoup(resd.text, \'html.parser\')     #打开新闻详情并解析
    news = {}
    news[\'广商好波\'] = soupd.select(\'.headline\')[0].text.rstrip().replace("\\r\\n"," ")
    # info = soupd.select(\'.artical-info\')[0].text.replace("\\r\\n"," ")
    # news[\'内容\'] = soupd.select(\'.artical-main-content\')[0].text.strip().replace("\\r\\n"," ")
    print(news)
    return (news);

文本内容通过对新闻网站的某个球队的新闻爬取,分别有标题、来源、内容等。标题作为词云的关键词。

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

问题1:一开始的时候,代码没有包装方法,只是长篇的写,写着写着发现乱了。解决方法:重新梳理写了的代码,一步步的包装。

问题2:在txt文件的读取和录入的时候,发现使用utf乱码,后来通过请教其他同学,还是完成了。

f=open(\'pynews.txt\',\'r\',encoding=\'GBK\').read()

数据分析思想及结论:本次研究的数据,我认为欧洲的豪门球队可以争取中国的足球商业市场。通过数据的分析:大部分欧洲的顶级球队(新闻占据新闻主页的7成)受到中国球迷的青睐。假如这些球队来到中国踢友谊赛,或者与国足相互切磋,提升国足实力之余又能打开中国的球衣销售市场。

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

from urllib import request

import numpy as np
import requests
import re

from PIL import Image
from bs4 import BeautifulSoup
from datetime import datetime
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt


def getNewsDetail(Url):
    resd = requests.get(Url)
    resd.encoding = \'utf-8\'
    soupd = BeautifulSoup(resd.text, \'html.parser\')     #打开新闻详情并解析
    news = {}
    news[\'广商好波\'] = soupd.select(\'.headline\')[0].text.rstrip().replace("\\r\\n"," ")
    # info = soupd.select(\'.artical-info\')[0].text.replace("\\r\\n"," ")
    # news[\'内容\'] = soupd.select(\'.artical-main-content\')[0].text.strip().replace("\\r\\n"," ")
    print(news)
    return (news);
newslist = []
def getListPage(newsUrl):   #9. 取出一个新闻列表页的全部新闻 包装成函数def getListPage(pageUrl)
    res = requests.get(newsUrl)
    res.encoding = \'utf-8\'
    soup = BeautifulSoup(res.text, \'html.parser\')
    for news in soup.select(\'.england-cat-grid-r2 ul li\'):
     Url = news.select(\'a\')[0].attrs[\'href\']
    # filmslist.append(getFilmsDetail(Url))
     print(Url)
     newslist.append(getNewsDetail(Url))
    return (newslist)
    # print(res.text)


newstotal = []
firstPageUrl=\'https://soccer.hupu.com/spain/\'
newstotal.extend(getListPage(firstPageUrl))
f = open(\'pynews.txt\', \'w\', encoding=\'utf-8\')
txtName = "pynews.txt"
f = open(txtName, "a+")
f.write(str(newstotal))
f.close()
for news in newstotal:
 print(news)

f=open(\'pynews.txt\',\'r\',encoding=\'GBK\').read()
font=r\'C:\\Windows\\Fonts\\simkai.ttf\'
a=np.array(Image.open("pdd.jpg"))
wordcloud=WordCloud( background_color="white",font_path=font,width=1000,height=860,mask=a,margin=2).generate(f)
imagecolor=ImageColorGenerator(a)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
wordcloud.to_file(\'1.jpg\')

  

以上是关于爬虫大作业之广商足球快讯(爬取足球新闻)的主要内容,如果未能解决你的问题,请参考以下文章

爬虫大作业

javascript大作业《web课程设计》用html做一个期末作业网站,梅西足球体育网页,css

10-12爬取广商新闻列表

足球竞猜网页的信息进行爬取并且对信息分析

广商-校园新闻爬虫

基于java+jsp+ssm足球新闻发布网站