欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 爬虫 采集博客园

程序员文章站 2022-03-25 22:49:38
爬虫主要抓取首页文档列表中的信息如:作者、头像、文章标题、摘要、发布时间、推荐次数、评论次数、阅读次数。 采用协程方式进行抓取页面,然后把信息保存到"博客园.csv"文件中。 采用了 第三方库 aiohttp、beautifulsoup4 如图: 部分代码 百度网盘下载: 链接:https://pa ......

爬虫主要抓取首页文档列表中的信息如:作者、头像、文章标题、摘要、发布时间、推荐次数、评论次数、阅读次数。 采用协程方式进行抓取页面,然后把信息保存到"博客园.csv"文件中。

采用了 第三方库 aiohttp、beautifulsoup4

如图:

python 爬虫 采集博客园

python 爬虫 采集博客园

 

 

 

部分代码

import csv
import asyncio
from httprequest import http
from blogs import blogs

'''
生成采集列表
'''


def create_url_list(s, e):
    items = []
    for n in range(s, e):
        items.append('https://www.cnblogs.com/sitehome/p/%s' % n)
    return items


'''
异步
'''


async def async_task(urls: list):
    core = [http.request(u) for u in urls]
    return await asyncio.gather(*core)


'''
采集
'''
urls = create_url_list(0, 20)
result = asyncio.run(async_task(urls))

'''
保存
'''
with open('博客园.csv', 'w', encoding='utf_8_sig', newline='') as f:

    fields = none

    '''
    写入信息
    '''
    for text in result:
        for t in blogs(text).run():
            if not fields:                  # 写入字段
                fields = t.keys()
                w = csv.dictwriter(f, fields)
                w.writeheader()
            w.writerow(t)
print('采集完成')

 

百度网盘下载:

链接:https://pan.baidu.com/s/1rb4o1ubsvxsimi68ygv1gq
提取码:x8ip