aboutsummaryrefslogtreecommitdiff
path: root/crawler/nevrax
diff options
context:
space:
mode:
Diffstat (limited to 'crawler/nevrax')
-rw-r--r--crawler/nevrax/pipelines.py5
-rw-r--r--crawler/nevrax/spiders/scrape.py3
2 files changed, 5 insertions, 3 deletions
diff --git a/crawler/nevrax/pipelines.py b/crawler/nevrax/pipelines.py
index 775d5df..dbbb782 100644
--- a/crawler/nevrax/pipelines.py
+++ b/crawler/nevrax/pipelines.py
@@ -9,8 +9,9 @@ class NevraxPipeline(object):
def process_item(self, item, spider):
try:
page = Nevrax.get(Nevrax.url == item['url'])
- q = Nevrax.update(**item).where(Nevrax.url == item['url'])
- q.execute()
+ if page.content_length != item['content_length']:
+ q = Nevrax.update(**item).where(Nevrax.url == item['url'])
+ q.execute()
logging.info("Update item {}".format(page))
except Nevrax.DoesNotExist:
page = Nevrax.create(**item)
diff --git a/crawler/nevrax/spiders/scrape.py b/crawler/nevrax/spiders/scrape.py
index 8a7b8ec..785ec3f 100644
--- a/crawler/nevrax/spiders/scrape.py
+++ b/crawler/nevrax/spiders/scrape.py
@@ -41,5 +41,6 @@ class NevraxSpider(CrawlSpider):
yield {
'url': response.url,
'title': response.css('title::text').extract_first(),
- 'content': ''.join(sel.select("//body//text()").extract()).strip()
+ 'content': ''.join(sel.select("//body//text()").extract()).strip(),
+ 'content_length': len(response.body)
}