Python 爬取早报
本帖最后由 Alex.Merceryj 于 2022-6-10 09:37 编辑## 参考地址
>- https://www.cnblogs.com/Alex-Mercer/p/15596617.html
## 说明
每天早上自己搜新闻太麻烦了,找了个早报网页,直接Python获取就行
## 更新说明
*该网页增加了反爬机制,加上请求头就可以了
## 代码
```py
'''
早报
早报地址:https://www.163.com/dy/media/T1603594732083.html
'''
import requests
from lxml import etree
def main():
url="https://www.163.com/dy/media/T1603594732083.html"
# 增加请求头
headers={
"Host": "www.163.com",
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36',
}
rsp=requests.get(url,headers=headers)
html=etree.HTML(rsp.text)
today_url=html.xpath("//h2[@class='media_article_title']/a/@href")
rsp=requests.get(today_url,headers=headers)
html=etree.HTML(rsp.text)
news_list=html.xpath("//div[@class='post_body']/p//text()")
news_list=news_list
for news in news_list:
print(news.replace("[公众号:365资讯简报]",""))if __name__ == "__main__":
main()
```
## 效果如下
```
2021年11月25日 星期四 农历十月廿一
1、十五部门:不得因女职工哺乳降低其工资福利待遇、不得予以辞退。
2、国台办:福州至台北支线建设已规划;台远东集团违法违规被罚约4.74亿元,查处工作仍在进行。
3、卫健委:到2025年全国6个月内纯母乳喂养率达50%以上。
4、广州:试行台港澳人员和拥有永久居留权的外国人参加住房公积金制度。
5、激活城乡消费,成都允许临街店铺在门前划定区域内外摆。
6、浙江拟立法:涉个人信息的公共数据匿名、去标识后可受限开放。
7、北京:启动新一轮公租房配租,为二孩及多孩家庭优先分配。
8、明年3月2日至4日,北京冬残奥会火炬接力在北京、延庆、张家口三个赛区举行,火炬手约600名。
9、《长津湖》票房破56.94亿元,超越《战狼2》登顶中国影史票房榜。
10、11月24日17时16分,贵州贵阳市修文县发生4.6级地震,未收到人员伤亡报告。
11、挪威已没有可供征税的汽油车,准备对电动车征税。
12、塞尔维亚一存放约500枚火箭弹的工厂爆炸,已致2死16伤。
13、美国就"北溪-2"再发制裁,俄方抨击:不可接受。
14、美商务部将27个实体和个人列入“军事最终用户”,包括12家中企。
15、瑞典选举出首位女首相:曾任职财政大臣 被视为“务实派”。
【微语】就这一生,可以快乐就不要难过;就这一生,可以努力就不要堕落。
```
luolovehk 发表于 2021-12-2 15:17
大佬指导一下,这个要怎么把所有信息合并在一条发送,我运行这个代码是一行一条信息发送。
你这里app.send_text(news) 本身就是发送列表中的元素,不用for循环,直接
app = Sender()
app.send_text("\n".join(news_list))
这样就行了 输出就是整个了,注意字符长度这个很重要 Hangjau 发表于 2021-11-27 19:16
可以尝试通过企业微信给自己发https://www.52pojie.cn/thread-1513913-1-1.html
大佬指导一下,这个要怎么把所有信息合并在一条发送,我运行这个代码是一行一条信息发送。
'''
早报
早报地址:https://www.163.com/dy/media/T1603594732083.html
'''
import requests
from lxml import etree
from pywchat import Sender
def main():
url="https://www.163.com/dy/media/T1603594732083.html"
rsp=requests.get(url)
html=etree.HTML(rsp.text)
today_url=html.xpath("//h2[@class='media_article_title']/a/@href")
rsp=requests.get(today_url)
html=etree.HTML(rsp.text)
news_list=html.xpath("//div[@class='post_body']/p//text()")
news_list=news_list
app = Sender()
for news in news_list:
print(app.send_text(news))
if __name__ == "__main__":
main() 我觉得很牛逼,点赞 不错,点赞! 感谢分享 不错,很方便,谢谢分享 谢谢分享{:1_921:} 感谢分享 爬取的早报发给自己的微信,怎么操作呀?
感谢分享 shavon 发表于 2021-11-25 09:06
爬取的早报发给自己的微信,怎么操作呀?
用server酱