python爬虫----(6. scrapy框架,抓取亚马逊数据)

利用xpath()分析抓取数据还是比较简单的,只是网址的跳转和递归等比较麻烦。耽误了好久,还是豆瓣好呀,URL那么的规范。唉,亚马逊URL乱七八糟的.... 可能对url理解还不够.

amazon
├── amazon
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── items.py
│   ├── items.pyc
│   ├── msic
│   │   ├── __init__.py
│   │   └── pad_urls.py
│   ├── pipelines.py
│   ├── settings.py
│   ├── settings.pyc
│   └── spiders
│       ├── __init__.py
│       ├── __init__.pyc
│       ├── pad_spider.py
│       └── pad_spider.pyc
├── pad.xml
└── scrapy.cfg

(1)items.py

from scrapy import Item, Field

class PadItem(Item):
    sno = Field()
    price = Field()

(2)pad_spider.py

# -*- coding: utf-8 -*-
from scrapy import Spider, Selector
from scrapy.http import Request
from amazon.items import PadItem

class PadSpider(Spider):
    name = "pad"
    allowed_domains = ["amazon.com"]

    start_urls = []
    u1 = ‘http://www.amazon.cn/s/ref=sr_pg_‘
    u2 = ‘?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page=‘
    u3 = ‘&ie=UTF8&qid=1408641827‘
    for i in range(181):
        url = u1 + str(i+1) + u2 + str(i+1) + u3
        start_urls.append(url)

    def parse(self, response):
        sel = Selector(response)
        sites = sel.xpath(‘//div[@class="rsltGrid prod celwidget"]‘)
        items = []
        for site in sites:
            item = PadItem()
            item[‘sno‘] = site.xpath(‘@name‘).extract()[0]
            try:
                item[‘price‘] = site.xpath(‘ul/li/div/a/span/text()‘).extract()[0]
            # 索引异常,说明是新品
            except IndexError:
                item[‘price‘] = site.xpath(‘ul/li/a/span/text()‘).extract()[0]
            items.append(item)
        return items

(3)settings.py

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

# Scrapy settings for amazon project
#
# For simplicity, this file contains only the most important settings by
# default. All the other settings are documented here:
#
#     http://doc.scrapy.org/en/latest/topics/settings.html
#

BOT_NAME = ‘amazon‘

SPIDER_MODULES = [‘amazon.spiders‘]
NEWSPIDER_MODULE = ‘amazon.spiders‘

# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = ‘amazon (+http://www.yourdomain.com)‘

USER_AGENT = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5‘

FEED_URI = ‘pad.xml‘
FEED_FORMAT = ‘xml‘

(4)结果如下 pad.xml

<?xml version="1.0" encoding="utf-8"?>
<items>
    <item>
        <sno>B00JWCIJ78</sno>
        <price>¥3199.00</price>
    </item>
    <item>
        <sno>B00E907DKM</sno>
        <price>¥3079.00</price>
    </item>
    <item>
        <sno>B00L8R7HKA</sno>
        <price>¥3679.00</price>
    </item>
    <item>
        <sno>B00IZ8W4F8</sno>
        <price>¥3399.00</price>
    </item>
    <item>
        <sno>B00MJMW4BU</sno>
        <price>¥4399.00</price>
    </item>
    <item>
        <sno>B00HV7KAMI</sno>
        <price>¥3799.00</price>
    </item>
    ...
</items>

(5)数据保存,保存到数据库

...

-- 2014年08月22日04:12:43

python爬虫----(6. scrapy框架,抓取亚马逊数据)

时间: 2024-10-25 11:12:50

python爬虫----(6. scrapy框架,抓取亚马逊数据)的相关文章

利用Python抓取亚马逊评论列表数据

前段时间,我家妹子公司老板叫她去将法国亚马逊评论列表的前100页共1000个评论用户的联系方式找出来.1000个用户,要一个个的去看再记录下来,而且并不是每个评论用户都会将个人的联系方式留下来.那么问题来了,这样费时费力的工作如果人工去做的话,那么就是花了两天的时间也就找了前30页的数据(还有别的工作要做),然后累的够呛的.本着心疼的原则(程序猿能找到妹子就很不错了,所以得心疼着),就想帮着她做点事. 我本身的工作是做游戏客户端开发的,主要使用的开发语言是lua和c++,并没有接触过网页.网站相

Python爬虫库Scrapy入门1--爬取当当网商品数据

1.关于scrapy库的介绍,可以查看其官方文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/ 2.安装:pip install scrapy  注意这个库的运行需要pywin32的支持,因此还需要安装pywin32.可以在这个网站上选择合适的版本下载安装:https://sourceforge.net/projects/pywin32/files/pywin32/ 3.挖掘当当网商品数据: 首先需要创建一个名为dangdang的爬虫项目,在pow

python实现爬虫(一)--- Scrapy框架抓取豆瓣书籍信息

Scrapy是一个用python实现都爬虫框架,简单易用,功能强大,只需要在框架的基础上自定义自己的分析规则即可,具体如何新建工程等待都在官方文档上面讲解得非常清楚,官方文档tutorial(http://doc.scrapy.org/en/latest/intro/tutorial.html)请保证下载较新版本的Scrapy(我的是0.24.2,scrapy -v)旧版本会出现一些问题. 下面我使用Scrapy抓取豆瓣上面编程书籍的一些简单信息 一.准备爬取的页面如下,新建一个douban工程

Python爬虫实战四之抓取淘宝MM照片

福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 最新动态 更新时间:2015/8/2 最近好多读者反映代码已经不能用了,原因是淘宝索引页的MM链接改了.网站改版了,URL的索引已经和之前的不一样了,之前可以直接跳转到每个MM的个性域名,现在中间加了一个跳转页,本以为可以通过这个页面然后跳转到原来的个性域名,而经过一番折腾发现,这个跳转页中的内容是JS动态生成的,所以不能用Urllib库来直接抓取了,本篇就只提供学习思路,代码不能继续用了. 之后博主会利用其它方

紫鸟亚马逊数据魔方 免费的亚马逊关键词工具

亚马逊关键词挖掘 亚马逊产品分析亚马逊竞品词分析  紫鸟数据www.ziniao.com 亚马逊关键词挖掘 亚马逊产品分析亚马逊竞品词分析  紫鸟数据 紫鸟亚马逊数据魔方 众所周知Amazon关键词的选择与分析,对亚马逊卖家账号的运营,有着至关重要的作用.现实中选择大于努力,选对了,就是爆款,订单源源不断的来:选错了,订单和财富是他们的,和你没关系! 工欲善其事,必先利其器.紫鸟亚马逊数据魔方就是这样一款利器,让你用起来得心应手的利器.紫鸟亚马逊数据魔方,是福建紫讯信息技术有限公司旗下的核心产品

python爬虫之scrapy框架

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy 使用了 Twisted异步网络库来处理网络通讯.整体架构大致如下 Scrapy主要包括了以下组件: 引擎

python爬虫beta版之抓取知乎单页面回答(low 逼版)

闲着无聊,逛知乎.发现想找点有意思的回答也不容易,就想说要不写个爬虫帮我把点赞数最多的给我搞下来方便阅读,也许还能做做数据分析(意淫中--) 鉴于之前用python写爬虫,帮运营人员抓取过京东的商品品牌以及分类,这次也是用python来搞简单的抓取单页面版,后期再补充哈. #-*- coding: UTF-8 -*- import requests import sys from bs4 import BeautifulSoup #------知乎答案收集---------- #获取网页body

用python爬取亚马逊物品列表

1. 仔细分析亚马逊查询详细界面可以看出来,主要关键部分有三个地方,这三个地方分别控制了查询列表的页面和关键字,所以修改这几个参数可以改变列表页数以及模糊查询的结果 http://www.amazon.cn/s/ref=sr_pg_3?rh=n%3A658390051%2Ck%3Aphp&page=3&keywords=Java&ie=UTF8&qid=1459478790 2. 通过基础链接以及正则表达式匹配的方法进行替换的方式改变爬取页面,注意由于使用了正则表达式匹配,

(转)python爬虫----(scrapy框架提高(1),自定义Request爬取)

摘要 之前一直使用默认的parse入口,以及SgmlLinkExtractor自动抓取url.但是一般使用的时候都是需要自己写具体的url抓取函数的. python 爬虫 scrapy scrapy提高     最近看scrappy0.24官方文档看的正心烦的时候,意外发现中文翻译0.24文档,简直是福利呀~ http://scrapy-chs.readthedocs.org/zh_CN/0.24/     结合官方文档例子,简单整理一下: ? 1 2 3 4 5 6 7 8 9 10 11 1