爬取新闻页的简要信息
import requests from lxml import etree from lxml.etree import _Element Base_url = "https://news.cnblogs.com" Base_path = "/n/page/" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" } # 这里只爬取第一页,可根据实际情况更改 for i in range(1, 2): url = f"{Base_url}{Base_path}{i}/" with requests.get(url=url, headers=headers) as res: # 非正常页面,直接返回状态码 if res.status_code != 200: print(res.status_code) break # 清洗数据 # 用lxml解析 root: _Element = etree.HTML(res.content) # 取出每条新闻的标签块 b = root.xpath("//div[@class='news_block']") # 遍历 在标签块的基础上查找其他的标签元素 for ele in b: ele: _Element print("标题:", ele.xpath(".//h2[@class='news_entry']/a/text()")[0]) print("作者:", ele.xpath(".//div[@class='entry_footer']/a/text()")[0].strip()) print("链接:", Base_url + ele.xpath(".//h2[@class='news_entry']/a")[0].get("href")) print("发布时间:", ele.xpath(".//div[@class='entry_footer']/span[@class='gray']/text()")[0].strip()) print("标签:", *[e.strip() for e in ele.xpath(".//div[@class='entry_footer']/span[@class='tag']/a/text()")]) print(ele.xpath(".//div[@class='entry_footer']/span[@class='view']/text()")[0].strip()) print("=" * 50) # 部分打印内容 """ 标题: 马云澳洲见老朋友,43年前曾在西湖边合影 作者: itwriter 链接: https://news.cnblogs.com/n/736836/ 发布时间: 2023-02-19 14:02 标签: 马云 33 人浏览 ================================================== 标题: 微软必应计划在AI搜索中引入广告模式 或于3月公布细节 作者: itwriter 链接: https://news.cnblogs.com/n/736835/ 发布时间: 2023-02-19 13:55 标签: bing 7 人浏览 ================================================== 标题: 中国工程院院士王坚:我国已具备支撑ChatGPT发展的算力基础 作者: itwriter 链接: https://news.cnblogs.com/n/736834/ 发布时间: 2023-02-19 13:47 标签: 王坚 13 人浏览 ================================================== 标题: 微软将把必应聊天回复限制在 5 条以内,以防人工智能越界 作者: itwriter 链接: https://news.cnblogs.com/n/736833/ 发布时间: 2023-02-19 13:40 标签: bing 7 人浏览 ================================================== 标题: 设计师编辑成ChatGPT用户主力!程序员仅占4.4% 作者: itwriter 链接: https://news.cnblogs.com/n/736832/ 发布时间: 2023-02-19 13:35 标签: ChatGPT 9 人浏览 ================================================== """
学习练习使用,切勿过度爬取
原文链接:https://www.cnblogs.com/guangdelw/p/17134978.html