Python爬取学习猿地网站猿圈的文章列表(标题、作者、链接、时间)

import requests
from bs4 import BeautifulSoup
import jsonclass bs4YQ():url = 'https://www.lmonkey.com/t'headers = {'user-agent': # 自己设置即可}# 响应源代码的存放位置res_html = None# 存储解析后的数据info = []# 初始化方法def __init__(self):# 初始化请求对象res = requests.get(url=self.url, headers=self.headers)if res.status_code == 200:print('请求成功')self.res_html = res.textif self.ParseData():self.WriteJson()  # 如果解析成功,则写入数据print('succeed')else:print('请求失败')# 定义解析html数据的方法def ParseData(self):bs = BeautifulSoup(self.res_html, 'lxml')  # BeautifulSoup 的实例化# 先找出文章模块所在列表区域,再从该区域解析标题、作者try:# 文章列表lists = bs.find_all('div', {'class': 'list-group-item list-group-item-action p-06'})  # find_all返回一个列表for i in lists:# 找每个文章列表里的标题titles = i.find('div', {'class', 'topic_title mb-0 lh-180'})if titles:# 用一个字典存储查找的相应数据infodict = {'title': titles.text.split('\n')[0],'author': i.strong.a.text,'url': i.a['href'],'time': i.span['title']}self.info.append(infodict)return Trueexcept:return False# 定义写入json数据的方法def WriteJson(self):# 判断数据是否找到并存入初始化列表if self.info is not None:try:# 写入with open('./yq.json', 'w', encoding='utf-8') as fp:json.dump(self.info, fp)return Trueexcept:return Falseelse:print('无法获取解析数据')return False# 设置入口
if __name__ == '__main__':bs4YQ()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部