可以看到相关的数据接口,里面有新闻标题以及新闻详情的url地址
如何提取url地址
1、转成json,键值对取值;
2、用正则表达式匹配url地址;
两种方法都可以实现,看个人喜好
根据接口数据链接中的pager 变化进行翻页,其对应的就是页码。
详情页可以看到新闻内容都是在 div标签里面 p 标签内,按照正常的解析网站即可获取新闻内容。
保存方式
1、你可以保存txt文本形式
2、也可以保存成PDF形式
之前也讲过关于爬取文章内容保存成 PDF ,可以点击下方链接查看相关保存方式。
本篇文章的话,就使用保存txt文本的形式吧。
-
在栏目列表页中,点击更多新闻内容,获取接口数据url
-
接口数据url中返回的数据内容中匹配新闻详情页url
-
使用常规解析网站操作(re、css、xpath)提取新闻内容
-
保存数据
- 获取网页源代码
def get_html(html_url):
“”"
获取网页源代码 response
:param html_url: 网页url地址
:return: 网页源代码
“”"
response = requests.get(url=html_url, headers=headers)
return response
- 获取每篇新闻url地址
def get_page_url(html_data):
“”"
获取每篇新闻url地址
:param html_data: response.text
:return: 每篇新闻的url地址
“”"
page_url_list = re.findall(‘“url”:“(.*?)”’, html_data)
return page_url_list
- 文件保存命名不能含有特殊字符,需要对新闻标题进行处理
def file_name(name):
“”"
文件命名不能携带 特殊字符
:param name: 新闻标题
:return: 无特殊字符的标题
“”"
replace = re.compile(r’[\/😗?"<>|]')
new_name = re.sub(replace, ‘_’, name)
return new_name
- 保存数据
def download(content, title):
“”"
with open 保存新闻内容 txt
:param content: 新闻内容
:param title: 新闻标题
:return:
“”"
path = ‘新闻\’ + title + ‘.txt’
with open(path, mode=‘a’, encoding=‘utf-8’) as f:
f.write(content)
print(‘正在保存’, title)
- 主函数
def main(url):
“”"
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
t/9f49b566129f47b8a67243c1008edf79.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)