当前位置: 首页 > news >正文

获取西华大学新闻网站信息(爬虫样例)

利用python的爬虫功能进行信息爬取,关键在于源码分析,代码相对简单。

1 源代码分析

访问网站,按下F12,进行元素查找分析。

2   代码实现

from requests import get
from bs4 import BeautifulSoupdef getXhuNews(pageNum=1):"""获取西华大学新闻信息"""url="http://news.xhu.edu.cn/zhxw/list%d.htm"%(pageNum)print(url)response=get(url)if (response.status_code==200):print("顺利获取数据")else:print("目的网站无法连接")exit();response.encoding = 'utf8'html=response.textsoup=BeautifulSoup(html,"html.parser")#myTitle=soup.select(".news_title")              #根据class查找结点(会找出太多的div)myTitle=soup.find_all("div",{"id":"wp_news_w6"}) #根据div的id查找结点soup = BeautifulSoup(str(myTitle),"html.parser") #重新构造soupmyTitle=soup.select(".news_title")               #根据class查找结点(会找出太多的div)  myDate=soup.select(".news_meta")                 #根据class查找结点print("第%d页"%pageNum," ",len(myTitle),"条新闻")listDate=[]     #存储日期listTitle=[]    #存储标题listHref=[]     #存储连接for i in myTitle:soup = BeautifulSoup(str(i),"html.parser")   #重新构造soups=soup.select("a")                           #根据标签获取结点for x in s:listHref.append(x["href"])               #获取结点属性值listTitle.append(x.getText())            #获取属性文本for i in myDate:soup = BeautifulSoup(str(i),"html.parser")   #重新构造soups=soup.select("span")                        #根据标签获取结点for x in s:listDate.append(x.getText())             #获取属性文本#写入文件fileName="text%05d.txt"%(pageNum)f=open(fileName,"w",encoding="utf8")for i in range(len(listDate)):str2="%04d"%(i+1)+"  "+listDate[i]+"  "+listHref[i]+"  "+listTitle[i]+"\n"f.write(str2)f.close()#----------使用样例---------------------------------
for i in range(40,50):getXhuNews(i)

http://www.lryc.cn/news/189846.html

相关文章:

  • 【Linux】https协议
  • 基于工业5G网关的工业机器人监测控制方案
  • [Machine learning][Part4] 线性回归模型技巧
  • 产品经理进阶:如何写商业计划书?
  • Excel 规范录入数据
  • 使用IDEA自带功能将WSDL转java
  • Vue + moment 实现自定义日历
  • 【斗罗2】天梦哥抓捕冰帝,霍雨浩与她完美融合,喜提五挂
  • 上个月Balada Injector攻击中有超过17,000个WordPress网站被黑
  • python写一个文本处理器
  • unity发布微信小游戏,未找到 game.json报错原因
  • mysql进程信息出现大量Waiting for table level lock信息的原因,怎么处理?
  • Ubuntu不显示共享文件夹解决方案
  • canvas基础2 -- 形状
  • TCP/IP(五)TCP的连接管理(二)三次握手细节
  • Vue Elememt 链接后端
  • XPS光电子谱峰与俄歇电子谱峰-科学指南针
  • STM32F4X I2C LM75
  • “华为杯”研究生数学建模竞赛2019年-【华为杯】F题:智能飞行器航迹规划模型(下)(附优秀论文及Pyhton代码实现)
  • 信息系统项目管理师第四版学习笔记——配置与变更管理
  • 代理IP端口是什么意思呢?
  • 如何使用ChatPPT生成PPT文档
  • 亚马逊云科技最新分享:人、流程、工具全链路数据安全合规
  • Xception:使用Tensorflow从头开始实现
  • Practical Memory Leak Detection using Guarded Value-Flow Analysis 论文阅读
  • 淘宝天猫商品历史价格API接口
  • 从0开始学go第七天
  • 【牛客面试必刷TOP101】Day7.BM31 对称的二叉树和BM32 合并二叉树
  • U盘怎么设置为只读?U盘怎么只读加密?
  • 为什么MyBatis是Java数据库持久层的明智选择