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

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

  1. 获取单条新闻的#标题#链接#时间#来源#内容 #点击次数,并包装成一个函数。
  2. 获取一个新闻列表页的所有新闻的上述详情,并包装成一个函数。
  3. 获取所有新闻列表页的网址,调用上述函数。
  4. 完成所有校园新闻的爬取工作。
    import requestsimport refrom bs4 import BeautifulSoupurl='http://news.gzcc.cn/html/xiaoyuanxinwen/'res=requests.get(url)res.encoding='utf-8'soup=BeautifulSoup(res.text,'html.parser')li=soup.select('li')def get(gzcc):    dj=re.search('_.*/(.*).html',gzcc).groups(0)[0]    djcs=int(requests.get('http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'.format(dj)).text.split('.')[-1].lstrip("html('").rstrip("');"))    return djcsdef sss(label):    for news in label:        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']#url            bumen=news.select('.news-list-info')[0].contents[1].text#部门            description=news.select('.news-list-description')[0].text #描述            cs=get(url1)            print(time,title,url,cs)sss(li)pages=int(soup.select('.a1')[0].text.rstrip('条'))//10+1        for list in range(2,pages+1):    pageurl="http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html".format(list)    pageres=requests.get(pageurl)    pageres.encoding='utf-8'    pagesoup=BeautifulSoup(pageres.text,'html.parser')    pagelist=pagesoup.select('li')    sss(pagelist)    break

     

  5. 完成自己所选其他主题相应数据的爬取工作。 
    import requestsimport refrom bs4 import BeautifulSoupurl='http://news.szu.edu.cn/xyxw/sdyw.htm'res=requests.get(url)res.encoding='utf-8'soup=BeautifulSoup(res.text,'html.parser')li=soup.select('li')def get(shenda):    dj=re.search('_.*/(.*).htm',shenda).groups(0)[0]    djcs=int(requests.get('http://news.szu.edu.cn/info/1003/{}.htm'.format(dj)).text.split('.')[-1].lstrip("html('").rstrip("');"))    return djcsdef sd(label):    for news in label:        if len(news.select('._blank'))>0:            title=news.select('._blank')[0].text            time=news.select('._blank').contents[0].text            url1=news.select('a')            cs=get(url1)            print(time,title,url,cs)sd(li)pages=int(soup.select('.left')[0].text.rstrip('条'))//10+1for list in range(2,pages+1):    pageurl="http://news.szu.edu.cn/xyxw/sdyw/{}.htm".format(list)    pageres=requests.get(pageurl)    pageres.encoding='utf-8'    pagesoup=BeautifulSoup(pageres.text,'html.parser')    pagelist=pagesoup.select('li')    sd(pagelist)    break

     

转载于:https://www.cnblogs.com/bb437601841/p/7649549.html

你可能感兴趣的文章
map通过value获取对应key
查看>>
day24 异常处理
查看>>
day28 classmethod 装饰器
查看>>
jquery 实现弹出框 打开与关闭
查看>>
经典大数据面试题
查看>>
[PTA]带头结点的链式表操作集
查看>>
jedis,spring-redis-data 整合使用,版本问题异常以及解决。
查看>>
LESS 学习整理总结
查看>>
QName
查看>>
makefile初步制作,arm-linux- (gcc/ld/objcopy/objdump)详解【转】
查看>>
》》HTTP 方法:GET 对比 POST《《Java:SpringMVC:基础知识:Http协议:000()
查看>>
ubuntu操作系统下spark源码走读环境搭建
查看>>
LeetCode OJ:Reverse Linked List II(反转链表II)
查看>>
LeetCode OJ:Binary Tree Zigzag Level Order Traversal(折叠二叉树遍历)
查看>>
Web 1三级联动 下拉框 2添加修改删除 弹框
查看>>
海量数据、高并发优化方案
查看>>
会计的思考(35):会计数据之殇
查看>>
10多媒体
查看>>
分布式一致性协议
查看>>
day10-mysql
查看>>