首页 > 其他分享 >Scrapy框架爬取cnblog实例

Scrapy框架爬取cnblog实例

时间:2023-07-11 17:11:29浏览次数:38  
标签:title find 爬取 Scrapy cnblog import next class page

Scrapy框架爬取cnblog下一页简单实例

犯了一个错误:直接拿浏览器点出来第二页链接去做拼接,导致一直爬不到下一页

实际上应该是:

blog.py

import scrapy
from scrapy import Request

from bs4 import BeautifulSoup
import time

class BlogSpider(scrapy.Spider):
    name = "blog"
    allowed_domains = ["www.cnblogs.com"]
    start_urls = ["http://www.cnblogs.com/"]

    def parse(self, response):
        ### 测试是否能正确获得下一页链接
        print(response)
        soup = BeautifulSoup(response.text,'lxml')
        atrlists = soup.find_all(class_="post-item")
        for article in atrlists:
            title = article.find(class_="post-item-title").text
            link = article.find(class_="post-item-title").attrs.get('href')

        time.sleep(3)
        page = soup.find(class_="pager")
        next_list = page.find_all('a')
        for i in next_list:
            next_page = i.attrs.get('href')
            if next_page !='/' :
                Next_url =  response.urljoin(next_page)
                yield Request(Next_url)
        ### 打印每一页最后一个标题链接,测试正常否
        print('标题:%s;   链接:%s'%(title,link))

标签:title,find,爬取,Scrapy,cnblog,import,next,class,page
From: https://www.cnblogs.com/yigehulu/p/17545342.html

相关文章

  • 爬取财务公司售汇汇率数据
    #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/12/1810:06#@Author:李宏#@File:fms.py#@Sofeware:PyCharmimportosfromdatetimeimportdatetime,timedeltaimportjson,requestsimportpandasaspdfromoption_mssqlimportmssql_queryfroms......
  • 开始填坑|注销掉除cnblogs和sifou的外的一切cn博客
    想到几天写下的小记,要注销博客,但是一直没搞,现在搞一下,为什么要注销呢?就是感觉真的cnblogs是很纯粹的一个社区,真的很喜欢。花里胡哨的那些,这都是我的个人观点,没必要搞了,遇到好文章,直接就带链接复制赚到cnblogs上,存着,把我的园子当成记录学习和成长的地方,就很好。也许,后期会继续......
  • python爬虫scrapy入门教程
    背景:python实现网页爬虫,可以使用scrapy,首先,需要安装python的运行环境,我们这里使用anaconda集成环境。安装好以后,打开AnacondaNavigator,打开CMD.exePrompt,在命令行窗口运行:pipinstallscrapy,运行完,没有报错,意味着scrapy就安装好了,然后,在当前文件夹下新建一个文件,名为:myspider.p......
  • 【慢慢买嗅探神器】基于scrapy+pyqt的电商数据爬虫系统
    项目预览项目演示代码部分爬虫模块GUI......
  • Splash与Scrapy结合
    Splash与Scrapy结合scrapy-splash教程—splash中文文档0.1文档https://splash-cn-doc.readthedocs.io/zh_CN/latest/scrapy-splash-toturial.html安装scrapy-splash库pipinstallscrapy-splash==0.8.0配置splash服务(以下操作全部在settings.py)使用splash解析,要在配......
  • pycnblog——上传博客园
    目录1、功能2、环境3、配置blog_url:blog_id:username:password4、运行5、添加快捷方式设置「右键→→发送到」的功能注意:Typora偏好设置——》图像设置1、功能一键拖拽上传默认“未发布”,可选择直接发布重复上传,提示是否更新博客2、环境(1)Python3安装pyyaml库:cmd中......
  • ChatGPT炒股:爬取氢能行业企业名录
    全球氢能网有氢能源相关企业的列表,怎么全部爬取下来呢?先看翻页规律:http://h2.china-nengyuan.com/company/company_0.htmlhttp://h2.china-nengyuan.com/company/company_1.htmlhttp://h2.china-nengyuan.com/company/company_21.html很简单,就是最后一个数字。然后看每页的结构和企......
  • urllib+BeautifulSoup爬取并解析2345天气王历史天气数据
    urllib+BeautifulSoup爬取并解析2345天气王历史天气数据网址:东城历史天气查询_历史天气预报查询_2345天气预报1、代码importjsonimportloggingimporturllib.parsefromdatetimeimportdate,datetimefromrandomimportrandintfromtimeimportsleepimportpymy......
  • Scrapy保存数据到多个数据库
    Scrapy保存数据到多个数据库目标网站:中国福利彩票网双色球往期数据阳光开奖(cwl.gov.cn) http://www.cwl.gov.cn/ygkj/wqkjgg/代码classMongoPipeline:defopen_spider(self,spider):self.client=pymongo.MongoClient()self.ssq=self.client.bjsxt.ssq......
  • 小工具 | cnblogs自动上传图片并生成markdown
    博客文章在本地都是用typora写的,文本可以直接复制上去,图片一个个上传太麻烦,这里推荐一个dotnet工具,给一个本地的typora文档,它会自动读取图片,上传到cnblogs,并替换掉原文档里的图片链接很方便,mark一下,工具地址为链接......