码迷,mamicode.com
首页 > 其他好文 > 详细

每天都看新闻,怎么看新闻同时又不花时间去找呢?每日新闻获取

时间:2020-09-15 20:51:35      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:string   结合   自动   设置   image   row   response   发送   操作   

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

coder 谢公子 | 作者

一只有想法的爬虫 | 来源

小编我一直都有看新闻的习惯,觉得看新闻挺花时间的,其实我只需要知道今天发生了什么事就好了,如果对某个新闻感兴趣再具体的去查看即可。

技术图片

 

难度:?

环境

python3.7.3、requests、lxml

受害者网站

aHR0cHM6Ly90b3BodWIudG9kYXkv

目标

这里有各个网站当前最新的热点新闻,这次的目标就是要把微博、知乎、微信、百度这四个平台的热点新闻爬取下来

技术图片

 

分析

做爬虫的第一步,当然是查看请求(查看是否为Ajax加载、是否需要逆向解决请求的参数)

技术图片

 

可以看到没有xhr请求(也就是异步请求),不是异步请求的话就比较好获取。

技术图片

 

在第一个请求可以看到我们需要的数据,也没有加密参数可以直接获取

技术图片

 

我们只需要微博、知乎、微信、百度的头5条新闻

技术图片

 

正常的xpath定位数据就好了

实现代码:

etree = html.etree
response = requests.get(url, headers=headers)
a = etree.HTML(response.text)
number = [1, 6, 5, 2]
name = [‘微博‘, ‘知乎‘, ‘微信‘, ‘百度‘]
for x, y in zip(number, name):
    print(y)
    ranking = a.xpath(f‘//div[@id="node-{x}"]/div/div[2]/div/a/div/span[1]/text()‘)[:5]
    title = a.xpath(‘//div[@id="node-1"]/div/div[2]/div/a/div/span[2]/text()‘)[:5]
    heat = a.xpath(‘//div[@id="node-1"]/div/div[2]/div/a/div/span[3]/text()‘)[:5]
    for i in zip(ranking, title, heat):
        print(f‘{i[0]}、 {i[1]} \t热度:{i[2]}‘)

再结合之前的邮件,可以把结果直接发送到手机上查看。把程序设为每天运行即可,查找任务计划程序

技术图片

 

创建新的任务

技术图片

 

设置常规、触发器、操作

技术图片

 

技术图片

 

这篇爬虫其实没什么难度就是入门级的,多练几次就能很快的获取数据,主要是想介绍一下如何将程序设为每天自动运行

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

技术图片

 

可以免费领取源码、项目实战视频、PDF文件等

技术图片

每天都看新闻,怎么看新闻同时又不花时间去找呢?每日新闻获取

标签:string   结合   自动   设置   image   row   response   发送   操作   

原文地址:https://www.cnblogs.com/hhh188764/p/13598610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!