专栏首页python-爬虫爬取博客园的所有随笔的url以及计数,还有对应标题

爬取博客园的所有随笔的url以及计数,还有对应标题

1.爬取博客园的所有随笔的url以及计数,还有对应标题

import re
import requests
from lxml.html import etree
import json

#对于链接和标题的一个整合
def func_1_deco(func_1):
    def wrapper(*args,**kwargs):
        dic = dict()
        lis = func_1(*args,**kwargs)
        count = lis[0]
        url_lis = lis[1]
        dic['count'] = count
        name_xpath = '//*[@id="cb_post_title_url"]/text()'
        for url in url_lis:
            response = requests.get(url)
            response = response.text
            response_html = etree.HTML(response)
            name = response_html.xpath(name_xpath)[0]
            print(name)
            dic[name] = url
        return dic
    return wrapper

@func_1_deco
def func(url):
    lis = []
    count = 1
    while True:
        count_1 = len(lis)
        response = requests.get(f'{url}default.html?page={count}')
        response = response.text
        data_1 = re.findall(' href="(.*?)"', response, re.S)
        for a in data_1:  # type:str
            if a.startswith('http'):
                if a.endswith('html'):
                    if 'archive' not in a:
                        lis.append(a)
        count +=1
        lis = set(lis)
        lis = list(lis)
        count_2 = len(lis)

        if count_1 == count_2:
            return count_2,lis  #博客的数据量,博客里面随笔的url

        
dic = func('你的博客的首页地址') #注意结尾要有/,字典格式是有一栏'count'计数,其他均为标题+对应的url

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MYSQL错误码2059解决办法

    小小咸鱼YwY
  • Scrapy中response属性以及内容提取

    headers :HTTP响应的头部, 类字典类型, 可以调用get或者getlist方法对其进行访问

    小小咸鱼YwY
  • 足球竞猜网页的信息进行爬取并且对信息分析

    项目链接:https://github.com/a568972484/Crawl_for_football_infor

    小小咸鱼YwY
  • 返回用户指定页面的web服务器

    skylark
  • Response响应

    在去发送一个请求时,先会找到主机服务器再找到对应的Service,找到Servoce对应的引擎

    木瓜煲鸡脚
  • 面向对象封装的web服务器

    skylark
  • scrapy shell

    执行scrapy shell http://www.521609.com,查看response

    小麦苗DBA宝典
  • Java 通过网络流转发文件到浏览器

    本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

    IT小马哥
  • 爬爬更健康

    爬取淘宝商品的信息,数据主要用于分析市场趋势,从而制定一系列营销方案。实现功能如下:

    公众号---志学Python
  • servlet设置缓存时间以及文件的下载

    缓存时间的设置: 1 public void doGet(HttpServletRequest request, HttpServletResponse res...

    欠扁的小篮子

扫码关注云+社区

领取腾讯云代金券