在scrapy中如何实现在多个页面上进行爬取

目标是 爬取http://download.kaoyan.com/list-1到http://download.kaoyan.com/list-1500之间的内容,每个页面中的又有翻页的list-1p1到list-1p20。目前只能实现在list1p上面爬取,应该如何修改代码跳转到list-6上面?list-2是404

# -*- coding: utf-8 -*-
import scrapy
from Kaoyan.items import KaoyanItem

class KaoyanbangSpider(scrapy.Spider):
    name = "Kaoyanbang"
    allowed_domains = ['kaoyan.com']
    baseurl = 'http://download.kaoyan.com/list-'
    linkuseurl = 'http://download.kaoyan.com'
    offset = 1
    pset = 1

    start_urls = [baseurl+str(offset)+'p'+str(pset)]

    handle_httpstatus_list = [404, 500]

    def parse(self, response):
        node_list = response.xpath('//table/tr/th/span/a')
        for node in node_list:
            item = KaoyanItem()
            item['name'] = node.xpath('./text()').extract()[0].encode('utf - 8')
            item['link'] = (self.linkuseurl + node.xpath('./@href').extract()[0]).encode('utf-8')
            yield item

        while self.offset < 1500:
            while self.pset < 50:
                self.pset = self.pset + 1
                url = self.baseurl+str(self.offset)+'p'+str(self.pset)
                y = scrapy.Request(url, callback=self.parse)
                yield y
            self.offset = self.offset + 5
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何实现在页面上绘画
最近想做一个在页面上涂鸦的东西:一个小说浏览得站点,我想用户在浏览得时候可以一边看一边用鼠标在上面画线,或者写字,(就是一副图片),还可以保存所写内容到当地。不知道该如何实现。rn用java吧应该很简单,但是我基础不好,我是做c#的,我想用c#做成dll行吗?该如何实现?请高手指点。
如何实现在页面上打印IFRAME中的文件?
即在本页中有一IFRAME,需要在本页上有一按钮实现打印IFRAME中文件功能
怎样实现在页面上播放avi文件?
我想实现在页面上播放avi文件,实现在线播放的功能,我用ASP实现它,要用到哪些东西?能给我一个例子更好?rnrnrn另外:我用SQL SERVER数据库,是把AVI文件放到库中呀,还是把AVI文件的路径放入数据库中?rnrn希望对此熟悉的老兄能给个详细的例子!!rn
怎样实现在页面上关闭窗口?
我记得用JAVA能实现关闭窗口,可是现在忘了,请高手指点。
实现在页面上调用MSN的方法
怎么样实现在页面上点击按钮弹出MSM对话框的方法.
讨教:是否能实现在网页的页面上进行绘图??
由于客户的需要,希望能在页面上加载一幅图片,并要求要在图片上进行划线,还要在上面写字。是否有哪位高人做过这方面的事例,非常感谢!rn另一个客户要求是,希望将图片复制粘贴到页面中然后保存起来rnrn我快崩溃了,谁有办法???
如何实现在页面上动态画直线?
页面上有多条直线,直线两端点坐标从数据库中读出,数据库不断地更新。rn某对端点之间的连线可能会被删掉,即连线是动态的。
Asp.net+Sql Server如何实现在页面上自动生成图表?
动态网页,Asp.net+Sql Server ,如何实现在页面上按数据库中的数据(指定列),自动生成图表(饼图\柱形图等等,类似Access中的数据透视图功能)?
如何实现在页面上检查用户名是否可用
[code=Java] rn rn rn rn 用户名:rn rn rn rn rn 邮箱:rn rn rn rn rn 密码:rn rn rn rn rn rn rn rn rn [/code]rn想在用户进行注册的时候在填写用户名的框边上增加个按钮,点击之后检查用户名是否可用,要怎么做?要怎么去取数据?
Asp.net+Sql Server,如何实现在页面上自动生成图表
动态网页,Asp.net+Sql Server ,如何实现在页面上按数据库中的数据(指定列),自动生成图表(饼图\柱形图等等,类似Access中的数据透视图功能)?
请教:如何实现在页面上浮动的flash动画?
请教:如何实现在页面上浮动的flash动画?谢谢!
如何实现在页面上对一个button对象的拖动
如何实现在页面上对一个button对象的拖动
Asp.net+Sql Server ,如何实现在页面上自动生成图表
动态网页,Asp.net+Sql Server ,如何实现在页面上按数据库中的数据(指定列),自动生成图表(饼图\柱形图等等,类似Access中的数据透视图功能)?
求助 如何实现在聊天室页面上自动显示消息!!!
想做一个聊天室 但不知道怎样实现只要有人发送消息,其他人在聊天室主页上就可以看到其发送的消息 也就是消息自动显示上所有客户端的页面上
如何实现在asp页面上操作,备份数据库?
谢谢大家!
如何实现在scrapy调试爬虫
# -*- coding:utf-8 -*- from scrapy.cmdline import execute import sys import os '''在爬虫文件夹下面自定义一个main.py的文件 __file__指的是当前main.py文件 os.path.abspath(__file__)获取当前main.py文件所在路径 os.path.dirname(o...
使用scrapy进行数据爬取
1.scrapy是一个python进行网页爬取的库   文档:http://scrapy-chs.readthedocs.org/zh_CN/latest/index.html   安装:sudo pip easy_install scrapy 2.生成项目   scrapy startproject projectname   目录结构: tutorial/ scrap...
如何屏蔽一个页面上的多个按钮??
一个页面上有多个button....rnrn但点了其中的一个 submit .rn其它的按钮就都变灰了, 妨止别人乱点...rnrn请教大侠们如何实现.....rnrnJS 有没有可以自己遍历到一个页上的所有按钮??rnrn求助了...在线等...
如何遍历页面上的多个浏览控件
我自己做了一个多文件上传的页面,在该页面上放置了十个浏览上传的控件:rnSystem.Web.UI.WebControls.Label strStatus;rnSystem.Web.UI.HtmlControls.HtmlInputFile File1;rnSystem.Web.UI.HtmlControls.HtmlInputFile File2;rnSystem.Web.UI.HtmlControls.HtmlInputFile File3;rnSystem.Web.UI.HtmlControls.HtmlInputFile File4;rnSystem.Web.UI.HtmlControls.HtmlInputFile File5;rnSystem.Web.UI.HtmlControls.HtmlInputFile File6;rnSystem.Web.UI.HtmlControls.HtmlInputFile File7;rnSystem.Web.UI.HtmlControls.HtmlInputFile File8;rnSystem.Web.UI.HtmlControls.HtmlInputFile File9;rnSystem.Web.UI.HtmlControls.HtmlInputFile File10;rnSystem.Web.UI.HtmlControls.HtmlTable Table1;rnrn并把这些控件都放入一个Table1里面了。现在要在上传的过程中获取以上File控件上面的附件的文件名,同时把这些记录插入到数据库。请问如何遍历以上Table中的所有控件的信息。
如何用java实现在页面上显示音标?
现有金山音标字体:Kingsoft Phonetic Plain,rn音标存在p变量里,如何实现p变量里的音标在页面上显示
在一个框架页面上,如何进行打印?
我有上下两个框架页面,如何在上面的页面上点击一个打印链接,就可以下印下面框架页面的内容呀?而且不弹出提示,直接驱动打印机打印!谢谢!
如何实现在tomcat下多个站点?
[size=16px]rn在我的电脑装了TOMCAT后,默认站点位置是:D:\Tomcat\webapps\ROOTrnrn我现在想配置多个站点,该怎么办?rnrn网络条件:可以绑定任意多个域名;端口不能用80,因为此端口用在另一台服务器上了(局域网,对外只能一个80口)。rnrn软件环境:没有装IIS和Apache,只有tomcat。rnrn[/size]
爬取多个页面的数据
代码如下:# -*- coding:utf8 -*- #导入requests库,取别名res import requests as res #导入bs4包,取别名bs from bs4 import BeautifulSoup as bs #导入数据库驱动包 import MySQLdb #声明页面从哪开始 j = 1 #循环遍历每个页面 while j 111: ##获取目标网站的网页
爬取多个页面的新闻标题
#这里RStudio使用的是R-3.4.4环境,xml2和magrittr是加载rvest #包之前需要的包,否则rvest包无法加载 library(xml2) library(magrittr) library(rvest)#爬取网页的主要包 library(selectr)#解析器,少了这个包,后面会报错 url0&amp;lt;-&quot;http://news.sina.com.cn/china/&quot;#获...
多个页面的表单提交到一个页面上如何实现
多个页面上的表单,都提交到一个页面上进行处理,请问如何写rn我知道一个页面提交到另一个页面上是用rn<%@ PreviousPageType VirtualPath="~/index.aspx" %>来实现,请问多个页面提交到一个页面呢?
Python3~scrapy项目之爬取当前页和详细页
# -*- coding: utf-8 -*- import scrapy from urllib import request from Py06_2018_3_16.items import TencentItem class TencentSpider(scrapy.Spider): name = 'tencent' allowed_domains = ['hr.tence...
Scrapy登录爬取豆瓣个人中心页
# -*- coding: utf-8 -*- import urllib import scrapy from os import path from scrapy import Request, FormRequest import os #登录爬取豆瓣 d = path.dirname(__file__) if &quot;__file__&quot; in locals() else os.getcwd...
爬虫系列(六)--爬取页面上的图像
爬虫系列(六)--爬取页面上的图像 马上国庆节了,要是再不写,可能又要到了十一过后才能写了。图像的爬取和普通页面的爬取是一样的,只是不需要进行转码,是二进制数据,直接写入文件中就行了。要注意的地方就是文件扩展名,还有图片文件是否已经存在了。 1.目标简介 下面的内容要实现的是爬取取某个指定页面上的图片。要是想要爬取指定区域内的图片或者是全站图片的话,需要结合前面的几篇文章的内容,稍微组合一下...
urllib爬取不得姐页面上的视频
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
网络爬虫之Scrapy实战二:爬取多个网页
在上一篇scrapy介绍中,我们抓取了单一的网页。这一章介绍了如何自动抓取多个网页。这里还是以一个小说的页面为例子进行讲解
python使用scrapy自动爬取多个网页
前面介绍的scrapy爬虫只能爬取单个网页。如果我们想爬取多个网页。比如网上的小说该如何如何操作呢。比如下面的这样的结构。是小说的第一篇。可以点击返回目录还是下一页 对应的网页代码: 我们再看进入后面章节的网页,可以看到增加了上一页 对应的网页代码: 通过对比上面的网页代码可以看到. 上一页,目录,下一页的网页代码都在&lt;div&gt;下的&lt;a&gt;元素的hre...
如何实现在一个Web页中嵌入随机内容?
比如考虑你正在设计一个网站,并且希望在所有网页上放置广告;每一个广告本身(它的文字和图片等)也是保存在一个Notes文档中;rnrn然后你从浏览器打开一个主题Web页面(这个,当然实际上也是保存在一个Notes文档中的),这个页面应该从广告文档的队列中随机选择一个,然后嵌入到当前的文档,并且返回给浏览器;这如何实现呢?rnrn而且,第一,不适用iframe标记(不将广告的文档作为单独的Web帧打开);第二,你所打开的主页面里面也许已经嵌入了一个视图,所以不能够嵌入第二个视图;rnrn有何高招吗?
请问jsp中如何实现在页面上对某个块的拖拽?
比如页面上有三个table,我要把第一个表中的某一个块块(比如图片)拖动放到第三个表中的某个位置,怎么实现?rnrnrn据说applet可以实现,想请教相关编码流程,我对applet不了解,又请问如果IE版本为6的话,是不是还得在每个client上装虚拟机?rnrnrn
如何实现在marquee标记中显示多条信息??(就像CSDN页面上哪个一样)
我看CSDN的HTML代码是:rnrn rn我也仿效:rnrn rn但是这个不行,marquee_company.aspx页面上应该怎么做??rnrn
请教如何实现在WEB页中实现换肤的功能?
在一个网页中的颜色如何实现换肤?谢谢。
如何实现在vb中的tab页的效果
如何实现在vb中的tab页的效果,而不是用超连接来切换呦。是在一页上呦。如何实现。
急:!!!请问如何实现在页面上显示数据库中得大二进制
我以前有个在ORACLE数据库下处理大二进制得类,但是现在我想在SQLSERVER下,用这个类在页面中显示大二进制,请各位帮我看看这个类应该改哪些地方:rnpackage zhcx;rnrnimport java.sql.*;rnimport java.io.*;rn//import javax.*;rnimport oracle.sql.*;rn//import oracle.jdbc.driver.*;rnimport microsoft.jdbc.sqlserver.*;rnimport java.util.*;rnimport com.dt.dps.DatabaseManager;rnimport zhcx.CommonTools;rnimport zhcx.FileTools;rnrnpublic class BlobToolsrnrn DatabaseManager databaseManager = new DatabaseManager();rn CommonTools commonTools = new CommonTools();rn Connection conn = null;rn Statement sqlStmt = null;rn //ResultSet rs = null;rn OracleResultSet rs = null;rn String sql = "";rnrn public String InsertBlob(String tableName,byte[] fileContentByte,String jlbh)rn rn tryrn rn conn = databaseManager.createconn();rn conn.setAutoCommit(false);rn sqlStmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rn sql = "insert into "+tableName+"(jlbh,myblob) values('"+jlbh+"',EMPTY_BLOB())";rn sqlStmt.executeUpdate(sql);rnrn sql = "select myblob from "+tableName+" where jlbh= '"+jlbh+"'";rn sqlStmt.executeQuery(sql);rn rs = (OracleResultSet)sqlStmt.getResultSet();rn if (rs.next())rn rn java.sql.Blob blob = rs.getBlob("myblob");rn java.io.OutputStream outstream = ((oracle.sql.BLOB)blob).getBinaryOutputStream();rn outstream.write(fileContentByte,0,fileContentByte.length);rn outstream.close();rn rs.updateBlob("myblob",blob);rn rn conn.commit();rn conn.setAutoCommit(true);rn return "1";rn rn catch (Exception e)rn rn System.out.println("插入BLOB失败");rn e.printStackTrace();rn return "-1";rn rn finallyrn rn tryrn rn rs.close();rn sqlStmt.close();rn conn.close();rn rn catch (Exception ex)rn rn ex.printStackTrace();rn rn rn rnrn public String UpdateBlob(String tableName,byte[] fileContentByte,String jlbh)rn rn tryrn rn conn = databaseManager.createconn();rn conn.setAutoCommit(false);rn sqlStmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rn sql = "delete "+tableName+" where jlbh = '"+jlbh+"'";rn sqlStmt.executeUpdate(sql);rn conn.commit();//ÏÈɾ³ý£¬ÔÙ²åÈërnrn sql = "insert into "+tableName+"(jlbh,myblob) values('"+jlbh+"',EMPTY_BLOB())";rn sqlStmt.executeUpdate(sql);rnrn sql = "select myblob from "+tableName+" where jlbh= '"+jlbh+"'";rn sqlStmt.executeQuery(sql);rn rs = (OracleResultSet)sqlStmt.getResultSet();rn if (rs.next())rn rn java.sql.Blob blob = rs.getBlob("myblob");rn java.io.OutputStream outstream = ((oracle.sql.BLOB)blob).getBinaryOutputStream();rn outstream.write(fileContentByte,0,fileContentByte.length);rn outstream.close();rn rs.updateBlob("myblob",(java.sql.Blob)blob);rn rn conn.commit();rn conn.setAutoCommit(true);rn return "1";rn rn catch (Exception e)rn rn System.out.println("修改BLOB失败");rn e.printStackTrace();rn return "-1";rn rn finallyrn rn tryrn rn rs.close();rn sqlStmt.close();rn conn.close();rn rn catch (Exception ex)rn rn ex.printStackTrace();rn rn rn rnrn public byte[] ReadBlob(String tableName,String jlbh)rn rn byte[] fileContentByte = "temp".getBytes();rn tryrn rn conn = databaseManager.createconn();rn conn.setAutoCommit(false);rn sqlStmt = conn.createStatement();rnrn sql = "select myblob from "+tableName+" where jlbh= '"+jlbh+"'";rn sqlStmt.executeQuery(sql);rn rs = (OracleResultSet)sqlStmt.getResultSet();rn if (rs.next())rn rn java.sql.Blob blob = rs.getBlob("myblob");rn fileContentByte = blob.getBytes(1,(int)blob.length());rn rn conn.setAutoCommit(true);rn return fileContentByte;rn rn catch (Exception e)rn rn System.out.println("读BLOB失败");rn e.printStackTrace();rn return null;rn rn finallyrn rn tryrn rn rs.close();rn sqlStmt.close();rn conn.close();rn rn catch (Exception ex)rn rn ex.printStackTrace();rn rn rn rnpublic byte[] ReadBlob(String tableName,String idname,String jlbh)rn rn byte[] fileContentByte = "temp".getBytes();rn tryrn rn conn = databaseManager.createconn();rn conn.setAutoCommit(false);rn sqlStmt = conn.createStatement();rnrn sql = "select myblob from "+tableName+" where "+idname+"= '"+jlbh+"'";rn sqlStmt.executeQuery(sql);rn rs = (OracleResultSet)sqlStmt.getResultSet();rn if (rs.next())rn rn java.sql.Blob blob = rs.getBlob("myblob");rn fileContentByte = blob.getBytes(1,(int)blob.length());rn rn conn.setAutoCommit(true);rn return fileContentByte;rn rn catch (Exception e)rn rn System.out.println("读BLOB失败");rn e.printStackTrace();rn return null;rn rn finallyrn rn tryrn rn rs.close();rn sqlStmt.close();rn conn.close();rn rn catch (Exception ex)rn rn ex.printStackTrace();rn rn rn rn public static void main(String[] args) throws Exceptionrn rn BlobTools blobTools = new BlobTools();rn FileTools fileTools = new FileTools();rn CommonTools commonTools = new CommonTools();rn String retStr = "";rn byte[] fileContentByte = "temp".getBytes();rn String tableName = "zh_user.cwxx_cwbb_blob_m";rn String inFileName = "e:\\test.xls";rn String outFileName = "e:\\test_1.xls";rn String updateFileName = "e:\\test_new.xls";rnrn String jlbh = commonTools.getJlbh(tableName);rn System.out.println("²úÉú¼Ç¼±àºÅ£º"+jlbh);rnrn fileContentByte = fileTools.ReadFile(inFileName);rn if (fileContentByte != null)rn rn System.out.println("¶ÁÎļþ³É¹¦£¡");rn rn elsern rn System.out.println("¶ÁÎļþʧ°Ü£¡");rn rnrn retStr = blobTools.InsertBlob(tableName,fileContentByte,jlbh);rn if (retStr == "1")rn rn System.out.println("²åÈëBlob³É¹¦£¡");rn rn elsern rn System.out.println("²åÈëBlobʧ°Ü£¡");rn rnrn fileContentByte = fileTools.ReadFile(updateFileName);rn if (fileContentByte != null)rn rn System.out.println("¶ÁÎļþ³É¹¦£¡");rn rn elsern rn System.out.println("¶ÁÎļþʧ°Ü£¡");rn rnrn retStr = blobTools.UpdateBlob(tableName,fileContentByte,jlbh);rn if (retStr == "1")rn rn System.out.println("ÐÞ¸ÄBlob³É¹¦£¡");rn rn elsern rn System.out.println("ÐÞ¸ÄBlobʧ°Ü£¡");rn rnrn fileContentByte = blobTools.ReadBlob(tableName,jlbh);rn if (fileContentByte != null)rn rn System.out.println("¶ÁBlob³É¹¦£¡");rn rn elsern rn System.out.println("¶ÁBlobʧ°Ü£¡");rn rnrn retStr = fileTools.WriteFile(outFileName,fileContentByte);rn if (retStr.equals("-1"))rn rn System.out.println("дÎļþʧ°Ü£¡");rn rn elsern rn System.out.println("дÎļþ³É¹¦£¡");rn rn rn
★急!如何实现在asp页中发送邮件,高分赠送★
我写了简单的测试程序,但无发实现发送邮件,请您指教!rn<%@ Language=VBScript %>rn<%option explicit%>rn<%rndim mymailrnset mymail=server.CreateObject ("cdonts.newmail")rnmymail.send "jingshuijushi@21cn.com","wqiwqi@263.net","test-asp-mail","the body",0rnset mymail=nothingrn%>rnrnrn rnrnrn发送成功!rn rnrnrnrn
如何实现在属性表中的页之间共享数据?
想在程序中实现在属性表中的第一页显示文件的路径(这里是针对视频文件的),而在第二个属性页预览该视频文件。在第二个属性页预览视频文件时,使用的是自己设计的类。不知道如何把第一页的文件路径信息传递到第二页中,求教各位,谢谢了!
请问如何实现在web页中传纸条的功能?
主要是用js和jsp实现,
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合