爬虫项目(下)

紧接上文,我们已经把数据拿到了,接下来进行数据保存,把所有爬取的东西写入到excel中

from openpyxl import workbook


def save_data(title,media_name,url):
    my_list=[title,media_name,url]
    ws.append(my_list)
    wb.save('新闻.xlsx')


 url = 'https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list'
    wb = workbook.Workbook()
    ws = wb.active
    ws.append(['新闻标题', '媒体', '网址'])
    for i in range(0, 181, 20):
         ----snip-----

首先进行导包,from openpyxl import workbook  这是进行excel 操作的首要

我们把文件的标题命名为新闻,随后把数据写进去

运行之后我们打开excel

 数据已经全部写进去了

 到这里所有的工作就完成了

以下是本次工作的所有代码

​import requests
from jsonpath import jsonpath
from openpyxl import workbook
import sys
from fake_useragent import UserAgent

ua=UserAgent()
print(ua.chrome)



def get_data(url):
    try:
        headers={
            'user-agent': 'ua.chrame'
        }
        response=requests.get(url,headers=headers,params=datas)
        r=response.json()
        return r
    except:
        sys.setrecursionlimit(5)
        return get_data(url)



def parse_data(data):
    try:
        title=jsonpath(data,'$..title')
        media_name=jsonpath(data,'$..media_name')
        url=jsonpath(data,'$..url')
        for titles,media_names,urls in zip(title,media_name,url):
            print(titles)
            print(media_names)
            print(urls)
            save_data(titles,media_names,urls)
    except:
        sys.exit(1)  #终止程序,0为正常退出,(1-127)为不正常退出

def save_data(title,media_name,url):
    my_list=[title,media_name,url]
    ws.append(my_list)
    wb.save('新闻.xlsx')

if __name__=='__main__':

    url = 'https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list'
    wb = workbook.Workbook()
    ws = wb.active
    ws.append(['新闻标题', '媒体', '网址'])
    for i in range(0, 181, 20):
        print('正在翻阅参数为{}的页'.format(i))
        datas = {
            'sub_srv_id': '24hours',
            'srv_id': 'pc',
            'offset': '{}'.format(i),
            'limit': '20',
            'strategy': '1',
            'ext': '{"pool":["top","hot"],"is_filter":7,"check_type":true}',}
        data=get_data(url)
        parse_data(data)
​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值