python3爬虫之后的数据保存问题(基于Pandas库)

python3爬虫之后的数据保存问题(基于Pandas库)

1.老生常谈,环境配置:

pip install pandas

又因为pandas库中依赖openpyxl所以

pip install openpyxl

2.爬虫过程简介:
这一次我爬取的是太原理工大学主页网站第一页共7则新闻
网址:http://www2017.tyut.edu.cn/xyxw/lgyw.htm
在对界面进行简单分析后,代码如下:

import requests
from bs4 import BeautifulSoup
import pandas

def getMaininfo(url):#抓取一条新闻的 标题 发布时间 来源 作者 返回一个列表
    result=[]
    res=requests.get(url)
    res.encoding='utf-8'
    soup=BeautifulSoup(res.text,'html.parser')
    result.append(soup.select('h2')[0].text)
    fb=soup.select('.xxxx')[0].contents[:-1]
    result.append(str(fb).lstrip('[').rstrip(']').replace('<span>','').replace('</span>','').replace('    , ','').replace(', ','\n'))
    result.append(soup.select('.v_news_content')[0].text)
    return result

def geturls(url):#抓取一页多个新闻url,调用getMaininfo(url)并将结果返回到字典
    a=[]
    b=[]
    c=[]
    res = requests.get(url)
    res.encoding = 'utf-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    for url in soup.select('.tit a'):
        url='http://www2017.tyut.edu.cn'+(url['href']).strip('..')
        a.append(getMaininfo(url)[0])
        b.append(getMaininfo(url)[1])
        c.append(getMaininfo(url)[2])
    result = {
        'title': a,
        'fubiao': b,
        'context': c
    }
    return result



if __name__ == '__main__':
    url='http://www2017.tyut.edu.cn/xyxw/lgyw.htm'
    print(geturls(url))
    df=pandas.DataFrame(geturls(url))#调用Pandas函数
    df.to_excel('123.xlsx')#在本地项目下生成一个表格存储爬取新闻

3.结果如下:
这里写图片描述


有兴趣的可以尝试将文章点击率做一下,涉及脚本抓取,代码下一期补上

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值