python 爬虫 pyspider遇到的问题

pyspider on_start函数中
如果url改变,写个循环判断之类的会自动在左面生成所有分页路径,但我这个是ajax请求,url不变,只是参数中的分页参数在变,我该如何写才能让左面生成分页请求

0

6个回答

另外 才注意到 你现在的这个程序写的有问题的 你在response里面写的请求? 应该是在请求的时候就将参数发过去的 程序有问题啊
for循环要写在前面的on start 函数里面

0
shsongtao
shsongtao qq就不用了 我平时也不在上面 你可以在csdn里关注一下
一年多之前 回复
newbie_no_1
newbie_no_1 恩恩,你说的我都懂了,我钻牛角尖了,我一直以为只有在左面生成多少个url,程序才会运行多少个,我刚才试了一下,可以实现分页,还有你说的加点无用参数让他自动生成我也明白了,我本来for 写在onstart里面的,我是试一下写在下个函数里可不可以生成多个呢,,感谢你的回答,我可不可以加你的QQ呢
一年多之前 回复

方案1:
只能通过确定哪些 url是ajax类的,然后使用正则将 ajax类的单独提出来 ,所有的该url的请求完成后,再继续进行 .
方案二:
在生成url 的时候,如果有分页,在生成的url后面加上分页的标识符,如http://xxxx?page=1 这样,以便生成不同的url,再进行抓取

0
newbie_no_1
newbie_no_1 我上图了,你看一下
一年多之前 回复
shsongtao
shsongtao 回复newbie_no_1: 首先你要知道你的哪些url是需要修改post的参数实现分页的, 然后这些url的参数肯定是要变化的,这个时候就需要跳出框架,或者在框架中寻找可以使用post参数的方式,然后将所有的翻页抓取完成,再去下一个url
一年多之前 回复
newbie_no_1
newbie_no_1 首先感谢你的回答,然后我没有说清楚,我的第一个请求直接就是一个ajax请求,如果是一般的分页请求的话url会变,只要在on_start函数中写一个循环,就可以在一开始run就生成所有分页请求,就像你说的方案二,但我url是不变的,变的是post请求中的参数,框架本身检测到url不变,所以一直只生成一个请求,我不知道如何控制这个逻辑,我不能爬完一页再手动修改参数再去爬吧
一年多之前 回复

图片说明

0

你现在的这个程序可以爬取1~9页的数据, 难道还是达不到你的目标吗?

0

思路是差不多了 其实 对于一些url来说 你加一些无用的参数 是不会导致查询不可用的 比如你在url后面加上?random=10 这样的 还是能正常获取你需要的内容
这就是我一开始说 你如果知道哪些需要哪些url 在后面加一些参数 变成不同url的原因

0

更新一下,上面图中for循环的方式依然只能抓取第一页的数据,我采用的是楼上的方案,加一个无用参数让其自动生成就OK了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
基本的python爬虫(pyspider)
自己的心得体会,有些的不对的地方,请大牛指正
python爬虫之安装PySpider问题
今天安装PySpider时安装不了,倒腾了一晚上终于解决了,学习效率有待改进。记录如下。 windows下PySpider安装需提前安装两个文件:lxml 和 wheel 。安装方法:  cmd 命令行下 pip install lxml          pip install wheel 但安装lxml时一直报错,命令行中一堆红字,后来找到解决方法: 参考这个网站 http://j
python爬虫遇到的问题
最重要的是错误查看 查看端口状态命令:netstat -apn 用于查看mysql的端口是否开启的是3306 发现mysql的连接状态如图 可以看到本地端口是127.0.0.1:3306 需要修改mysql的bind-address:找到/etc/mysql/mysql.conf.d/mysqld.cnf这个文件中,有一行是 需要改为0.0.0.0 即接收任何ip的连接 并且...
pyspider遇到的SSL问题
第一次使用pyspider,发现 run之后运行左边的follow后会出现以下报错: [E 170414 21:02:52 base_handler:203] HTTP 599: SSL certificate problem: unable to get local issuer certificate     Traceback (most recent call last):     
写pyspider遇到的问题
- pyspider代码生成遇到的问题 随机增加的!!!!没有顺序 下一页的css选择器如果选中了几个就判断下,if each.text()==u’下一页’ config中想要重新运行一遍代码可以加"itag":"这里是任意值" save的使用方法 将上面的url传给detail里面的url save={‘aa’:url} response.save[‘aa’] 删除文本 引用文本 H2O...
python爬虫进阶—pyspider框架——3(实战)
爬取https://www.autoblog.com/used-list 这个页面的车辆信息,这是第一页,后面页的url如下添加:urls=['https://www.autoblog.com/used-list'] for i in range(2,110): urls.append('https://www.autoblog.com/used-list/page-%d'%(i))我
python爬虫入门(7) pyspider学习1
前提知识:简单的phantomjs,selenium,lxml的知识 建新项目:cmd>>pyspider all                    chrome>>localhost://5000 点击create====>然后出现一个页面 save之后点击运行==========================》》点击follows你会看间只有一条信息,因为on_s
python爬虫进阶—pyspider框架——1
介绍一下爬虫用的比较多的两个框架pyspider和scrapy 以下是剽窃某乎一答主的回答 自认为讲的比较好: 作者:trucy 链接:https://www.zhihu.com/question/37686665/answer/128811396 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Pyspiders是国内某大神开
pyspider爬虫设置延时
pyspider爬虫设置延时,在scrawl中添加function函数,设置时延. 另外可以正则匹配网址方法也可以参见本条方案 def index_page(self, response): print(response) for each in response.doc('a[href^="http://www.zhanqi.tv/games/"]
pyspider爬虫框架(增量爬虫)
pyspider: 爬虫框架, 基于puquery实现的.优势:1. 基于多线程异步的任务调度方式; 可以实现爬虫的高并发爬取, 注意使用代理;2. 它提供了一个WedUI的爬虫任务管理界面, 可以实现爬虫的停止, 启动, 调试, 支持定时爬取任务;3. 代码简洁;4. 支持动态网站的爬取; requests/urllib只能爬取静态网站. phantomjsphantomjs: 幽灵浏览器, 无...
pyspider 爬虫教程
http://docs.pyspider.org/en/latest/
python爬虫进阶—pyspider框架——2
上一篇讲怎么入门,这篇就介绍三个函数on_start,index_page,detail_page(自己的理解) on_start是入口,_ _ START_URL____ 那里填入你要爬的网页的url, 对于crawl方法可以看文档 不过我觉得文档里面callback这个讲的不是很清楚,我讲下我的理解,callback是说你这个crawl到的页面用那个函数来解析 index_
Pyspider 爬虫使用说明
一、    pyspider安装 pip install pyspider 启动之后如下: Windows系统 Linux系统 二、pyspider例子 重点参考http://blog.csdn.net/u011659379/article/details/48223385,需要注意的是其中csspath的选取,其中的css selector 可参考网页http://www.
pyspider爬虫初学笔记
在学习爬虫的过程中,知道了有pyspider这个神器,界面虽然简单但看着很方便,以下大概介绍一下各方面内容。一、安装:在命令行中pip install pyspider,每次启动时都需要在命令行中输入pyspider,在网页中打开localhost:5000页面名叫dashboard,是pyspider的控制面板。group代表分组,status中有stop,todo,running,Checki...
linux 下python爬虫遇到的问题
1.系统centos7 2.同时安装了python2和python3. 3.使用的Pycharm 用virtualenv创建了python3,进行爬虫的尝试。但是遇到了不存在类似No module named 'bs4’的错误 解决No module named bs4 https://www.cnblogs.com/xisheng/p/7856334.html 解决pycharm问题:modul...
python爬虫工作遇到的问题
1,redis 的强制关闭导致磁盘不可写入,,flush
python爬虫遇到的坑
一.     UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8a in position 9509: i错误是应为被压缩了
爬虫开发入门:使用 Pyspider 框架开发爬虫
使用 Pyspider 作为爬虫入门框架要比直接用 Scrapy 容易太多,如果你需要快速爬取一个网站,Pyspider 爬虫框架是最佳选择之一 Pyspider 框架具有以下优点 有 Web 界面用于开发爬虫,任务、项目管理,查看爬取结果 支持各种数据库(MySQL、MongoDB、SQLite 等)存储爬取结果 可以方便设置任务优先级,重新爬取策略 支持单机与分布式部署 支持 Phantom...
爬虫开发入门:使用 pyspider 框架开发爬虫
使用 pyspider 作为爬虫入门框架要比直接用 Scrapy 容易太多,如果你需要快速爬取一个网站,pyspider 爬虫框架是最佳选择之一nnpyspider 框架具有以下优点n* 有 Web
pyspider爬虫爬取知乎的话题
pyspider爬虫框架 这是一个非常好用的爬虫框架,下载和安装部署都极其简单 python及pip的安装参照https://www.jianshu.com/p/196f6fad1caa 在第五步的时候注意,因为它会用到非常多的依赖,有的时候直接pip install pyspider并没有下载下来,那么就需要我们手动下载依赖包http://www.lfd.uci.edu/~gohlke/pyth...
pyspider爬虫核心逻辑架构
可能不完善,望指教。
pyspider中文文档&爬虫学习计划
连接地址:https://www.kancloud.cn/manbuheiniu/pyspider/69223 爬虫学习计划按如下步骤进行: 1.爬虫技术选型 2.pyspider学习 a.安装 b.样例测试 c.全面掌握pyspider d.加密站点抓取 e.常用防抓取绕行技术 f.分布式研究 ...
【爬虫】使用pyspider爬取壁纸
文章参考: https://blog.csdn.net/wangjx92/article/details/78903288   这次爬取的是必应的每日壁纸。 如何使用请看这里。    1.先分析一下Url:     https://bing.ioliu.cn/?p=1     发现只要更改p的参数就可以进入相应的页数。     而且有多少页都已经标好了,微软真是贴心啊。   ...
Python爬虫框架--pyspider初体验
之前接触scrapy本来是想也许scrapy能够让我的爬虫更快,但是也许是我没有掌握scrapy的要领,所以爬虫运行起来并没有我想象的那么快,看这篇文章就是之前使用scrapy的写得爬虫。然后昨天我又看到了pyspider,说实话本来只是想看看,但是没想到一看就让我喜欢上了pyspider。先给大家看一下pyspider的后台截图: pyspider是国人写的一款开源爬虫框架,个人觉得这个框架
【Python】pyspider安装方法
原作者链接: 1.pyspider作者的官方介绍文档:http://docs.pyspider.org/en/latest/ 2.pyspider作者的github链接 : https://github.com/binux/pyspider  3.pyspider作者的中文问答社区:https://segmentfault.com/t/pyspider 中文教程资源:
Python 爬虫框架pyspider尝试
安装pyspiderpyspider可以做什么,在这里我不打算多说, 官方有详细文档介绍: 官方文档:http://docs.pyspider.org/en/latest/下面直接上干货:要准备的东西: 消息中间件 (all模式必选): rabbitmq、beanstalk、kombu、redis都可以 rabbitmq: http://www.rabbitmq.com/download.h
python爬虫遇到403错误
这段时间我很想去p站爬一爬,之前有试过,但都失败了,有一次用phantomJS尝试,结果卡死在登录页面,太复杂了。有一次卡死在编码上,一直无法获取到页面。这次是卡死在403上,我获取了图片的链接,正要下载时弹出403错误,图片在浏览器上也打不开,我还以为是网站把我的ip封掉了,就放弃了,后来听一位大神说,有的时候需要向网页发送一些请求头吃才能下载东西(我是第一次听说urllib.request.u...
pyspider 启动错误遇到的一些坑
突然接到一个项目是关于pyspider,遇到了一些小坑,百度一下发现并没有很好的解决所以研究了一下。 我所使用的python版本是3.6.8,因为pyspider是对pip有版本要求的,所以自动升级一下。 升级pip •# pip install –upgrade pip 一切配置好之后,就在CMD中运行 pyspider all 来看能否跑起来。 这是成功的样子,说明可以了。 不过路上谁能不遇...
pyspider安装遇到的坑记录
python版本:2.7 1、启动报错 raise ValueError("Invalid configuration:\n - " + "\n - ".join(errors)) ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator....
自学Python爬虫遇到的一些问题
1.Python中三引号的问题(""")    起到换行的作用
python爬虫——安装mongodb时遇到的问题
操作系统:MacOS之前装过homebrew(注1)。打开terminal,输入“brew”,报错如下:“Error:Failure while executing: git config --local --replace-all homebrew.private true”。依次尝试了以下步骤: brew update:更新brew doctor: 诊断brew gist-logs <f...
win安装pyspider遇到的一个问题记录
问题描述: pip无错误安装完成pyspider之后,验证时在cmd中输入pyspider all出现如下图错误: 百度了好久才知道:这是WsgiDAV发布了版本 pre-release 3.x导致的,版本太高不兼容,所以把版本降下来就OK了。 命令:python -m pip install wsgidav==2.4.1 然后pyspider all测试一下,没问题的话如下...
Python 爬虫中遇到的反爬虫问题
源网站一般会有下面几种限制 1、一定时间内单个IP访问次数,一个正常用户访问网站,除非是随意的点着玩,否则不会在一段持续时间内过快访问一个网站,持续时间也不会太长,我们可以采用大量不规则代理ip形成一个线程池,随机从代理池中选择代理,模拟访问。代理有两种,透明代理和匿名代理。2、一定时间内单个账号访问次数,如果一个人一天24小时都在访问一个数据接口,而且速度非常快,那就有可能是机器人。我们可以采用
运行python爬虫代码中遇到的问题~
可以算是一次小尝试~ 遇到的问题有:       from bs4 import BeautifulSoup ModuleNotFoundError: No module named 'bs4'   bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you...
python爬虫学习过程中遇到的问题记录
一、xpath取出标签下的全部文本 在学习爬虫爬取百度搜索记录的过程中,想要提取搜索记录的标题,比如 对应的HTML是: 比如在上面的图片中,想打印出“使用apriori进行关联分析(一)-我是8位的-博客园” 我首先尝试了 content = selector.xpath('//*[@id="' + str(pn+i) + "\"]/h3/a[1]/text()") 发现打印出的结果是 ...
记录一次简单python爬虫遇到的问题
1. python版本问题。   当系统有多个python版本的时候,可以用anaconda来管理。如果是自己随便安装的,还要留意python的解释器用的是哪个版本,pip下载依赖是在哪个目录下,pip下载可以指定目录的。 2. 爬虫ip被封。      这次我用了两种思路。一个是更换代理,就是指定header, 使用fake_useragent包的UserAgent来随机使用header。...
在Python爬虫中遇到的NoneType的问题
在Python爬虫中遇到的NoneType的问题 1.问题 目的:爬取天猫上手机的名字和价格 代码如下 #天猫商品比价定向爬取 import requests from bs4 import BeautifulSoup import bs4 def getHTMLText(url): try: r = requests.get(url) r.raise_f...
python爬虫中使用xpath遇到的问题
最近在练习Python的时候,使用XPath来爬取网页上的内容,感觉要比使用正则匹配要更灵活和简洁一些。但是今天遇到了一个问题,找了半天资料也没找到解决方法,自己对照xpath的语法,也没错误。但就是结果不对。论坛上的各位大神可否帮忙指点一二:[code=python]rn#coding:utf-8rnrnimport urllibrnimport urllib2rnfrom lxml import etree as etreernrnif __name__ == "__main__":rn #此段代码的目的是为了爬取下边网页上的“更新时间”rn req_url = 'http://www.mumayi.com/android-81548.html'rn try:rn headers = 'User-Agent':'"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0"'rn req = urllib2.Request(req_url, headers = headers)rn content = urllib2.urlopen(req, timeout=60).read()rn if isinstance(content, unicode):rn passrn else:rn content = content.decode('utf-8')rn #print contentrn htmlSource = etree.HTML(content)rn rn names = htmlSource.find('.//ul[@class="istyle fl"]//li[4]') #问题出在节点“li”的序列号[4]上,只要加上li[4],结果就是Nonern print names.text, type(names)rn[/code]
Python爬虫学习中遇到的问题
请教一个问题,爬虫链接是一个下载地址,在浏览器中进入之后会自动弹回点击下载地址的页面,下载的是一个表格,但是在写的爬虫中,当我访问这个下载链接时,会出现报错:urllib2.URLError: <urlopen error no host given>,主机未回应,请问这该怎么做才能把表格下载下来?相关链接:1. http://www.moe.gov.cn/srcsite/A03/mo...
使用python进行爬虫遇到的问题
使用python爬虫遇到的问题 目标网页登陆时需要提交一个表单,表单其中一个数据在网页的源码中存放,每访问一次该网页这个checkcode随之改变,我之前想的是使用requests模块,先get一次然后正则获取这个checkcode,再post,但是post和get就是是两次访问了,当我post这个表单的时候checkcode就已经不是原先的那个了,最后还是登陆不上。求大佬帮忙解答一下 ) ...