博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬取校园网新闻
阅读量:5059 次
发布时间:2019-06-12

本文共 1640 字,大约阅读时间需要 5 分钟。

1.获取单条新闻的#标题#链接#时间#来源#内容 #点击次数,并包装成一个函数。

2.获取一个新闻列表页的所有新闻的上述详情,并包装成一个函数。

3.获取所有新闻列表页的网址,调用上述函数。

4.完成所有校园新闻的爬取工作。

import requests import re from bs4 import BeautifulSoup url='http://news.gzcc.cn/html/xiaoyuanxinwen/' res=requests.get(url) res.encoding='utf-8' soup=BeautifulSoup(res.text,'html.parser')  #获取点击次数 def getclick(newurl):     id=re.search('_(.*).html',newurl).group(1).split('/')[1]     clickurl='http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'.format(id)     click=int(requests.get(clickurl).text.split(".")[-1].lstrip("html('").rstrip("');"))     return click  #获取网页内容 def getonpages(listurl):     res=requests.get(listurl)     res.encoding='utf-8'     soup=BeautifulSoup(res.text,'html.parser')          for news in soup.select('li'):        if len(news.select('.news-list-title'))>0:             title=news.select('.news-list-title')[0].text #标题             time=news.select('.news-list-info')[0].contents[0].text#时间             url1=news.select('a')[0]['href'] #链接             source=news.select('.news-list-info')[0].contents[1].text#来源             description=news.select('.news-list-description')[0].text #内容              resd=requests.get(url1)             resd.encoding='utf-8'             soupd=BeautifulSoup(resd.text,'html.parser')             detail=soupd.select('.show-content')[0].text              click=getclick(url1) #调用点击次数             print(title,url1,click)    count=int(soup.select('.a1')[0].text.rstrip("条")) pages=count//10+1 for i in range(2,4):     pagesurl="http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html".format(i)     getonpages(pagesurl)

  

转载于:https://www.cnblogs.com/junjun21/p/7658129.html

你可能感兴趣的文章
ios封装静态库技巧两则
查看>>
Educational Codeforces Round 46 (Rated for Div. 2)
查看>>
Abstract Factory Pattern
查看>>
C# 实现Bresenham算法(vs2010)
查看>>
基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装
查看>>
list 容器 排序函数.xml
查看>>
存储开头结尾使用begin tran,rollback tran作用?
查看>>
Activity启动过程中获取组件宽高的五种方式
查看>>
java导出Excel表格简单的方法
查看>>
SQLite数据库简介
查看>>
利用堆实现堆排序&优先队列
查看>>
Mono源码学习笔记:Console类(四)
查看>>
Android学习路线(十二)Activity生命周期——启动一个Activity
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
App.config自定义节点读取
查看>>