有人能帮我解决这个问题吗?我是scrapy/python的新手。我似乎无法阻止重复数据被插入到数据库中。例如。如果我的数据库中有马自达4000美元的价格。如果'car‘已经存在或者'price with car’存在,我不希望爬虫再次插入爬行数据。
price | car
-------------
$4000 | Mazda <----
$3000 | Mazda 3 <----
$4000 | BMW
$4000 | Mazda 3 <---- I also dont want to have two results like this
$4000
我们的刮板目前不仅下载文本,而且图像。刮刀目前的状态很好,但是我们在下载图像的质量上有很大的问题。在检查标准ImagePipeline之后,我们实现了一个自定义的,它告诉Pillow使用最高质量,它看起来如下(并在settings.py中配置):
from scrapy.contrib.pipeline.images import ImagesPipeline
from scrapy.exceptions import DropItem
from scrapy.http import Request
from cStringIO import StringIO
class CustomIma
我用pip install scrapy安装了刮痕。但是在python中,我得到了一个ImportError:
>>> from scrapy.spider import Spider
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/scrapy/__init__.py", line 56, in <module>
我一直在从以下链接学习如何使用Scrapy:
当我试图运行在爬行(scrapy crawl dmoz)部分中编写的代码时,我会得到以下错误:
AttributeError: 'module' object has no attribute 'Spider的
然而,我把“蜘蛛”改成了“蜘蛛”,只得到一个新的错误:
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
我很困惑,有什么问题吗?任何帮助都将不胜感激。谢谢。
我正在尝试使用Scrapy抓取Shoescribe。但是不知何故,parse_item并没有被调用。我尝试与其他网站相同的代码,它工作得很好。完全不知道哪里出了问题。任何帮助都会非常感谢!谢谢!
import scrapy
from scrapy import log
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
from lsspider.items import *
class ShoeScribeSpider(Cra
我正在尝试运行scrapy的简单程序,但无法执行它,以下是程序
from scrapy.selector import Selector
from scrapy.http import HtmlResponse
body = '<html><body><span>good</span></body></html>'
Selector(text=body).xpath('//span/text()').extract()
Following is the error,
Traceback
我有一个利用项目管道的scrapy项目。我使用Scrapy的"startproject“命令来创建我的项目,所以我认为我的文件夹结构是准确的。
我已经尝试将VersionSpider.py文件移动到外部目录,即与items模块相同的目录,这是可行的。但是,当我运行scrapy crawl命令时,它找不到爬行器,因为它不在正确的目录中。
文件结构:~
from CFBScraper.items import VersionItem
ModuleNotFoundError: No module named 'CFBScraper'
我在这个爬虫上取得了很大的进展--我正在逐渐习惯于编码,并享受其中的每一分钟。然而,正如我正在学习的,我的大部分编程都是解决问题的。这是我目前的错误:
我的爬行器在终端窗口中显示了我想要的所有数据。当我转到output时,什么也没有显示。这是我的代码。
import re
import json
from urlparse import urlparse
from scrapy.selector import Selector
try:
from scrapy.spider import Spider
except:
from scrapy.spider import Ba
我试图从政府网站获取公司的信息,并使用Scrapy作为it.My蜘蛛代码如下。
蜘蛛码
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider
from ..items import CompaniesHouseItem
class SpendolaterSpider(scrapy.Spider):
name = 'spendolater'
allowed_domains = ['beta.companies
我的rails应用程序中有一个事件模型:
class Event < ApplicationRecord
...
end
我在时钟dyno上运行一个钟表进程,它有
require_relative 'boot'
require_relative 'environment'
require 'clockwork'
module Clockwork
every(10.seconds, 'xyz') do
Resque.enqueue(.......)
end
eve
我已经创建了一个蜘蛛,它在当前页面上找到next_page url,然后跟踪并销毁它,在那个页面上,蜘蛛再次搜索next_page url并销毁它等等。它工作得很好,唯一的问题是它跳过了在start_urls中提到的页面上的报废--它总是从下一页开始刮起。它应该从当前页面(如start_urls )开始刮擦,然后跟随下一页。我知道我错过了什么。请帮助我理解跟随蜘蛛有什么问题。
import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml im
我运行了我的爬虫(见下面),但是它只抓取'start_urls‘中给出的页面。根据经验,我发现参数'restrict_xpaths‘不起作用。
# -*- coding: utf-8 -*-
from scrapy.spiders import CrawlSpider, Rule
from ..items import Category
from scrapy import Selector
from scrapy.linkextractors import LinkExtractor
class NeoSpider(CrawlSpider):
name =
我不知道为什么,但最近出了个错误:
File "C:\Users\name\PycharmProjects\splash\project\project\spiders\scrapy.py", line 5, in <module>
class ScrapySpider(scrapy.Spider):
AttributeError: 'module' object has no attribute 'Spider'
我的完整代码:
import scrapy
from scrapy_splash import SplashRe
我对python和scrapy都是新手。我想从维基百科上抓取数据,但没有成功。每次我抓取维基时,我总是得到:"TypeError:'WikipediaItem‘对象不支持项目分配“。我该如何解决这个问题,以及如何成功地从维基百科中抓取细节。
不管怎样,下面是我的代码:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from wikipedia.items import WikipediaItem
class WikipediaItem(BaseSpider)
下面是我的代码:
from scrapy import *
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
class lala(CrawlSpider):
name="lala"
start_url=[
我正试图使用start_url spider.py从MYSQL表中填充一个SELECT。当我运行“刮伤运行蜘蛛spider.py”时,我没有得到任何输出,只是它没有出现错误。
我已经在python脚本中测试了SELECT查询,并且用MYSQL表中的entrys填充了start_url。
spider.py
from scrapy.spider import BaseSpider
from scrapy.selector import Selector
import MySQLdb
class ProductsSpider(BaseSpider):
name = "Produ
所以我在玩Scrapy,它是一组类,允许你进行web抓取,我想把一些数据放到数据库中,但我让truble在扩展scrapy库的同时导入MySQL方法。
下面是我的代码:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.http import Request
import MySQLdb
class test(BaseSpider): #if i don't extend the class the MySQL works, but the Sc
我在试着刮掉当前的汇率。请你看一下,看看你是否发现了错误。
items.py
import scrapy
class CurrItem(scrapy.Item):
country = scrapy.Field()
currency = scrapy.Field()
value = scrapy.Field()
currencySpider.py
import scrapy
from currency.items import CurrItem
class currencySpider(scrapy.Spider):
name = 'curr'
我正在写一个抓取器,它应该从一个初始网页中提取所有链接,如果它在元数据中有任何给定的关键字,如果它们在URL中包含'htt‘,则跟随它们并重复该过程两次,因此抓取的深度将为2。这是我的代码:
from scrapy.spider import Spider
from scrapy import Selector
from socialmedia.items import SocialMediaItem
from scrapy.contrib.spiders import Rule, CrawlSpider
from scrapy.selector import HtmlXPathSel
我成功地合并了django和scrapy,并希望将items对象持久化到数据库中。保存很好,但是没有所有的元素。
我对python、scrapy和django非常陌生,我想我错过了一些东西,但无法解决。
这是我的蜘蛛代码:
from scrapy.http import FormRequest, Request
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy import log
from scrapy.contrib.loader import XPa