• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > Scrapy-如何让scrapy爬取尽可能多的网页

Scrapy-如何让scrapy爬取尽可能多的网页

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了scrapy动态网页,scrapy抓取动态网页,scrapy爬取豆瓣,scrapy爬取新闻,scrapy 爬取图片等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:Scrapy-如何让scrapy爬取尽可能多的网页
描述:

我用scrapy框架来爬取新浪财经的内容,将新闻的标题和内容下载下来并保存到txt文件中,接着我想从当前网页中提取url,供scrapy继续爬取...按照我的想法,只要我不停止爬虫,那么它就应该提取url,下载标题和内容,写入文件这样一直循环做.但是,现在的问题是我的爬虫只能够爬取几个百网页,爬完之后爬虫就完成了.这不符合我的设想,那么我该怎么做让爬虫能够不停的爬取呢?
------------------------更新------------------------
我发现我的爬虫只是爬完了所有包含在首页的满足要求的url,没有对更深的url进行爬取.我也想让爬虫对那些嵌套的url进行爬取,我要怎么做呢?
这是我的代码:

# -*- coding:utf-8 -*-

from scrapy.spiders import CrawlSpider,Rule
from scrapy.selector import Selector
from scrapy.linkextractors import LinkExtractor
from scrapy.http import  Request

class Spider(CrawlSpider):
    num=0#Record article's number
    name = "sina"
    download_delay=1
    allowed_domains = ["sina.com.cn"]
    start_urls = [
        "http://finance.sina.com.cn/"
    ]
    rules=[Rule(LinkExtractor(allow=()),callback='parse',follow=True)]

    def parse(self,response):
        URLgroup=LinkExtractor(allow=()).extract_links(response)
        for URL in URLgroup:
            if 'finance.sina.com.cn' in URL.url:
                #only crawl url with a fixed prefix
                yield Request(url=URL.url,callback=self.parse_content)

    def parse_content(self, response):
        c
        text= content.xpath('//div[@id="artibody"]/p/text()').extract()#extract text
        title=content.xpath('//h1/text()').extract()#extract title
        file_abs=r"C:/Temp/save/article"
        if title and text:
         with open(file_abs+str(self.num)+'.txt', 'w') as f:
            self.num+=1
            f.write('标题:\n')
            for t in title:
                    f.write((t.encode('utf-8')))
                    f.write('\n')
            f.write('正文:\n')
            for t in text:
                     f.write((t.encode('utf-8')))
                     f.write('\n')


解决方案1:

Linux 下用 Cron,Windows 下用计划任务来定时执行。

解决方案2:

还是我自己来回答自己提的问题吧。在上面的代码中,我并没有继续从start_urls中继续提取url,所以要想让爬虫满足我的要求,需要用到LinkExtractor,提取url,过滤掉不符合要求的url,然后继续调用parse函数,这样爬虫就可以继续爬取了。
LinkExtractor的详细描述见这里
`


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • scrapy抓取网页返回的是404页面应该怎么做?
  • scrapy如何爬取网页里面的thunder链接?
  • 如何实现scrapy针对网页内容变化的增量爬取?
  • Scrapy-如何让scrapy爬取尽可能多的网页

相关文章

  • 2017-06-07 如何在excel中打钩python可以在excel打开的情况下操作吗
  • 2017-06-07 为何说这段代码很难看,怎么能变得pythonic?
  • 2017-06-07 tornado如何设置cookie的保留字段的值
  • 2017-06-07 请问大家谁会使用VB调用matlab
  • 2017-06-07 djangotemplatetag范围
  • 2017-06-07 (shell)osx下xampp集成环境,如何实现用终端操作mysql?
  • 2017-06-07 CocoaPodsinstall时的问题
  • 2017-06-07 (python)flask如何获取POST过来的xml类型的二进制文件?
  • 2017-06-07 scala使用double类型计算出错
  • 2017-06-07 本地引用外部服务器的json,responseText转回为json时,老是出错。。。。求救!!!!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 求助,谢谢帮助
    • (python)关于virtualenv的一点点疑惑?
    • java问题
    • 新手看着教程用Scrapy写了个爬虫,出现以下问题,还请指点一二,感激不尽
    • 为什么打ecode报错
    • (golang)Go-SDK怎么实现断点续传下载啊?文件基本上只能下载到一小部分
    • 求个jboss源码QQ群
    • python爬虫将Python打包成exe的软件有哪些呢?
    • pythonbisect模块中的insort是什么意思?
    • 运行PYTHON35下的开发服务器时提示UnicodedecodeErrorutf-8错误

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有