从零开始开发Python程序(四) |
您所在的位置:网站首页 › 新闻今日最新的一条内容 › 从零开始开发Python程序(四) |
这是一片系列文章,最好先看看上一篇 从零开始开发Python程序(三)—— 用文本编辑器来写代码 目录 一、需求说明 二、程序设计 三、从指定网站获取新闻 1.找一个提供新闻的网站 2. 库的安装 3. 访问网站,获取页面数据 4. 查找最新新闻的链接 5. 抓取网页中的新闻文字 一、需求说明 关注时事新闻,是发财的第一步。某产品经理提出以下三个需求开发一个程序: 1. 每天自动从网上找到新闻 2. 自动整理新闻排版成一张图片 我想,这不就是我们群里辉哥每天的工作吗,辉哥太辛苦了,我要写一个这样的程序为他减轻负担~! 二、程序设计功能示意图如下;直接开始需求的第一个步骤,从网站上采集新闻信息
三、从指定网站获取新闻 1.找一个提供新闻的网站 这里用的是 https://www.pmtown.com/archives/category/早报 (随便找的、不是广告引流) 网页是用Html标签写的,我们首先要用代码访问这个新闻网站,获取每天最新早报的网址; 2. 库的安装这里我们将用到两个库: requests :用来访问请求网站 bs4 : 用来从网站标签中提取数据 先后执行以下代码安装库,速度飞快~ pip install requests pip install bs4安装效果 在easy.txt中写入这几行代码: import requests from bs4 import BeautifulSoup obj1 = requests.get('http://www.pmtown.com/archives/category/早报') print(obj1.text)总共就5行代码,我稍微解释一下: import requests ;将requests库引入from bs4 import BeautifulSoup ; 从 bs4 这个库中只引入BeatifulSoup这个对象obj1 = requests.get('http://www.pmtown.com/archives/category/早报'); 用requests库的get方法请求网页,obj1是个临时变量print(obj1.text) ; 打印请求到的网页内容保存文本,并执行代码; python easy.txt成功的话,会像我一样,控制台上打印出一堆html标签。恭喜你!已经掌握了如何用python程序获取网页数据啦,接下来就是为所欲为的时刻。 对着最新的一条新闻,右键点击检查,浏览器中会弹出这个链接的代码;可以看到这条新闻的地址是 https://www.pmtown.com/archives/293994.html; 分析一下这部分网页的代码 1. 列表里是所有的新闻地址,按时间倒序排列,最新的在最上面;每天会有一条新的早报地址; 2. 他是一个 标签包裹的 3. 这个a标签中有一个class="list-title text-lg h-2x" 4. 路径在这段代码的href=""中 泡面早报|360将推出10万元左右的智能汽车、微信上线购物号功能主打人人都能带货、腾讯推出免费看片神器片多多还能边看边赚钱我们可以用这段代码访问这个网站,并查找到当天最新一条新闻的网址; html_obj = BeautifulSoup(obj1.text) url = html_obj.find('a',class_='list-title text-lg h-2x').get('href') print(url)代码简单得只有三行,但我还是解释一下 html_obj = BeautifulSoup(obj1.text) 用BeautifuSoup包装网页文本,便于解析查找数据的功能url = html_obj.find('a',class_='list-title text-lg h-2x').get('href') 查找指定a标签,该a标签中有一个class值为'list-title text-lg h-2x',找到后,获取该a标签中的href字段print(url) 找到了就打印出来看看执行效果:你成功了吗,恭喜你,学会了如何从网站中抓取你想要的数据。 打开上一步的新闻网址 ,右键检查,分析网页代码规律: 不难发现,这个代码的特点: 1. 中包裹着日期 2. 中包裹着新闻内容 泡面早班车#2021年5月12日 星期三【泡面头条】 1、滴滴出行旗下共享单车品牌青桔发布名为青桔X的概念车 滴滴旗下共享单车品牌青桔发布两轮概念电单车——青桔X。这款车采用了半封闭式的造型,前后灯使用到贯穿式大灯。在安全方面,它配备了汽车级毫米波雷达,可实现ADAS碰撞预警。同时,它支持开机健康自检,支持人脸、指纹识别、APP端健康提醒。它将搭载长续航高密度锂电池,支持无线快充。在智能互联方面,包括语音交互、车载导航等。据了解,滴滴方面希望,在5年后实现青桔X上路行驶。 ....省略 直接上代码: obj2 = requests.get(url) news_html = BeautifulSoup(obj2.text,) news_content = news_html.find('p') print(news_content)代码只有四行,很简短,我解释一下: obj2 = requests.get(url) url是上一步获取的最新新闻的网址news_html = BeautifulSoup(obj2.text,) 用BeautifulSoup对象包装一下请求到的网站文本news_content = news_html.find('p') 查找标签print(news_content) 找到了就打出来看看 执行效果:你成功了吗? 总共25行代码就搞定了这个功能,接下会教你如何将早报排班成图片 从零开始开发Python程序(五)—— 把文字排版成一张图片 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |