python期末大作业 爬取上海体育彩票文章标题、时间、内容 并计算词频、生成特殊形状的词云图

  1. 利用selenium爬取内容代码:
# https://www.shsportslottery.com/shsportsweb/html/tycp/lottery_shxw/List/list_0.htm
from selenium import webdriver
import requests
import csv
import time
from bs4 import BeautifulSoupurl1="https://www.shsportslottery.com/shsportsweb/html/tycp/lottery_shxw/List/list_0.htm"driver=webdriver.Chrome()
driver.get(url1)
# time.sleep(3)while True:time.sleep(3)content=driver.page_sourcesoup=BeautifulSoup(content,"lxml")news=soup.find(class_="news_list")for  new in news.find_all("li"):times=new.find(class_="color").get_text()title=new.find(name="a").get_text()link=new.find(name="a").get("href")#         url2=https://www.shsportslottery.com/shsportsweb/html/tycp/lottery_shxw/2021-06-10/Detail_160252.htmurl2="https://www.shsportslottery.com/shsportsweb/html/tycp/"+link[6:]print(times,title,url2)headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.41'}con=requests.get(url=url2,headers=headers)con.encoding="utf-8"html2=con.text#         print(html2)soup2=BeautifulSoup(html2,"lxml")with open("shSportslottery.csv","a",newline="",encoding="utf-8")as file:writer=csv.writer(file)writer.writerow((times,title))#         print(times,title)try:contents=soup2.find(class_="news_l").find("tr")for con in contents.find_all("span"):content=con.get_text()with open("SContent.txt","a+",encoding="utf-8") as file:file.write((content))with open("shSportslottery.csv","a",newline="",encoding="utf-8")as file:writer=csv.writer(file)writer.writerow([content])except:content="none"#         print(content)
#try exccept很重要,因为有一些文章可能会以h5的形式写或者只有视频、图片,会导致找不到定位标签,系统出错...(问就是吃过亏...)next=driver.find_element_by_xpath('//a[contains(text(),"后一页")]')if next.get_attribute("href"):next.click()else:breakdriver.quit()
print("爬取完毕!")

2. 计算词频运行截图:

代码:

#词频统计import jieba
excludes={"体育","记者","编辑","据了解"}txt=open("SContent.txt","r",encoding="utf-8-sig").read()
words=jieba.lcut(txt)
counts={}for word in words:if len(word)==1:continueelse:counts[word]=counts.get(word,0)+1items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)for i in range(15):word,count=items[i]print("{0:<10}{1:>5}".format(word,count))

3. 生成词云代码:

#生成词云
import jieba
import wordcloud
from imageio import imread
excludes={"体育","记者","编辑","据了解"}
f=open("SContent.txt","r",encoding="utf-8")
t=f.read()
f.close
ls=jieba.lcut(t)
txt="".join(ls)
mask=imread("play.png")w=wordcloud.WordCloud(width=1000,height=700,background_color="white",stopwords=excludes,font_path="ssdf.ttf",mask=mask)
w.generate(txt)
w.to_file("STCPcon.png")
print("已完成!")

生成词云图:

总结视频:

python 爬取上海体育彩票文章标题、时间、内容相关推荐

  1. python爬取公众号文章发布时间

    使用xpath取出来的是空,爬取到本地的html,时间的标签如下,内容也是是空的 <em id="publish_time" class="rich_media_m ...

  2. python爬取公众号文章如何获取发布时间

    python爬取公众号文章如何获取发布时间 在上一篇爬取公众号的文章中爬虫如何爬取微信公众号文章介绍了如何获取公众号的所有历史文章链接,但当我根据链接去爬取文章的时候,却遇到了一个小问题,就是文章的发 ...

  3. Python爬取书包网文章实战总结

    python爬取书包网文章总结 今天闲来无事去看小说,但是发现没办法直接下载,所以呢就用python爬虫来下载一波了,哈哈- 爬取的是这篇小说:剑破九天(是不是很霸气,话不多说,开始-) 总体思路步骤 ...

  4. 如何用python爬取公众号文章_如何使用 Python 爬取微信公众号文章

    我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章.但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦. 于是便想着能 ...

  5. python爬取今日头条文章json中data出现none_Python3爬取今日头条有关《人民的名义》文章...

    最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章,试试技术同时可以集中看一下大家的脑洞也是极好的. 首先,我们 ...

  6. Python 爬取51cto博客标题浏览量、评论量、收藏

    介绍 提到爬虫,互联网的朋友应该都不陌生,现在使用Python爬取网站数据是非常常见的手段,好多朋友都是爬取豆瓣信息为案例,我不想重复,就使用了爬取51cto博客网站信息为案例,这里以我的博客页面为教 ...

  7. python 爬取某乎某选全部内容

    在发布了python爬取知乎盐选文章内容后,没想到居然这么快就要更新新的内容了. 在下午思考第一篇python爬取知乎盐选文章内容的时候,其实就把自动爬取目录内的其他内容的方法想出来了,但是本来没想这 ...

  8. python爬取贴吧所有标题的评论_用BS4爬取贴吧文章的作者信息时,如何兼顾爬取高亮的作者信息?...

    百度贴吧上的文章信息中,一般的作者信息代码,如下所示: 别让依靠成 而有部分作者信息是橙色的.如下所示: 冰缘瑞雪... # -*-coding:utf-8-*- """ ...

  9. python爬虫入门实战!爬取博客文章标题和链接!

    最近有小伙伴和我留言想学python爬虫,那么就搞起来吧. 准备阶段 爬虫有什么用呢?举个最简单的小例子,你需要<战狼2>的所有豆瓣影评.最先想的做法可能是打开浏览器,进入该网站,找到评论 ...

最新文章

  1. 2020腾讯AI Lab犀牛鸟专项研究及访问学者计划入选项目公布!!!
  2. buider模式的缺陷
  3. 算法入门篇九 暴力递归
  4. 三星Nexus S刷回官方4.0.4教程
  5. cuda必须装在c盘吗_善待你的系统盘——系统盘(C盘)解决方案
  6. 后缀名是ofd是什么文件?可以转成PDF吗
  7. 云信duilib之菜单
  8. 南阳oj STL分类练习
  9. html5制作颜色的诗句,带有颜色的诗句(精选60句)
  10. 论文阅读:Improved Denoising Diffusion Probabilistic Models
  11. dell服务器重装iso系统,戴尔R620安装windows2012R2过程和方法
  12. 使用D触发器完成带有异步清零clrn和同步使能wen的8位寄存器
  13. python try catch
  14. arm neon优化
  15. js+css制作导航栏下划线跟随动画,自适应元素尺寸变化,Vue/Uniapp
  16. SDNU 1040.导弹拦截
  17. 亿赛通的加密软件对加密图纸文件外发效果如何?
  18. 拥有多重人格的他,可能是个裂脑人
  19. 利用爬虫、SMTP和树莓派3B发送邮件续集(爬取墨迹天气预报信息)
  20. 商业模式画布、精益画布

热门文章

  1. ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?
  2. 【单片机基础篇】舵机模块使用
  3. 随想录(人脸检测之dlib)
  4. 随想录(keras入门)
  5. 随想录(大学给了我们什么)
  6. zabbix agent安装_OpenSUSE RPM安装 zabbix-agent
  7. 浏览器接收到html文档后,认识HTMl,了解HTML文档在服务器和浏览器间是如何传递的...
  8. 关键路径-stl版_A*算法与蚁群算法相结合的无人艇巡逻路径规划
  9. 270 扩展固态硬盘_新款macbook扩展坞,内置固态硬盘盒,支持NVME M2协议,一秒传输1GB...
  10. sqlserver无法启动端口冲突解决方法