scrapy 抓取京东首页

python version 2.7

开发工具:eclipse+pydev

安装好Scrapy后需要将python安装目录下的Script配置到环境中


在cmd中进入workspace执行

scrapy startproject  ptspider

生成了scrapy的配置文件

在spiders路径下新建文件命名为JDSpider.py


from scrapy.spider import BaseSpider
class  JDSpider(BaseSpider): 
        name = "360buy.com" 
        allowed_domains = ["360buy.com"]    
        start_urls = ["http://www.360buy.com/?utm_source=media&utm_medium=cpc&utm_campaign=&utm_term=semmedia_1_15"]

        def parse(self, response):
            filename = response.url.split("/")[-2] + '.html'
            print(response.body)
            open(filename, 'wb').write(response.body)

在cmd中cd到ptspider路径下执行  scrapy crawl  360buy.com

抓到京东首页的文件www.360buy.com.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是使用Scrapy框架爬取京东的基本步骤: 1. 创建一个Scrapy项目 在命令行中运行 `scrapy startproject jd_spider` 命令来创建一个Scrapy项目,其中 `jd_spider` 是项目名称。 2. 创建一个Spider 在Scrapy项目中,Spider是用来定义如何从网站中爬取数据的。可以通过运行 `scrapy genspider jd_spider www.jd.com` 命令来创建一个名为 `jd_spider` 的Spider,并将其链接到京东网站。 3. 编写Spider代码 在 `jd_spider/spiders/jd_spider.py` 文件中编写Spider代码。具体来说,需要实现 `start_requests()` 方法和 `parse()` 方法。 `start_requests()` 方法用于生成要爬取的URL,`parse()` 方法用于解析响应并提取数据。 以下是一个简单的示例: ```python import scrapy class JDSpider(scrapy.Spider): name = 'jd_spider' allowed_domains = ['www.jd.com'] start_urls = ['https://www.jd.com/'] def parse(self, response): pass ``` 4. 编写Item代码 在Scrapy中,Item是用来定义要爬取的数据结构的。可以在 `jd_spider/items.py` 文件中定义Item。 以下是一个简单的示例: ```python import scrapy class JdItem(scrapy.Item): name = scrapy.Field() price = scrapy.Field() comments = scrapy.Field() ``` 5. 编写Pipeline代码 在Scrapy中,Pipeline是用来处理爬取到的数据的。可以在 `jd_spider/pipelines.py` 文件中编写Pipeline代码。 以下是一个简单的示例: ```python class JdPipeline: def process_item(self, item, spider): return item ``` 6. 配置Settings 在Scrapy中,Settings是用来配置项目的参数的。可以在 `jd_spider/settings.py` 文件中配置Settings。 需要将 `ROBOTSTXT_OBEY` 设置为 `False`,以便让Scrapy忽略 `robots.txt` 文件。 以下是一个简单的示例: ```python BOT_NAME = 'jd_spider' SPIDER_MODULES = ['jd_spider.spiders'] NEWSPIDER_MODULE = 'jd_spider.spiders' ROBOTSTXT_OBEY = False ``` 7. 运行Spider 运行以下命令来运行Spider: ```shell scrapy crawl jd_spider ``` 以上就是使用Scrapy框架爬取京东的基本步骤。当然,还需要根据实际情况进行适当的修改和优化。 ### 回答2: Scrapy是一个强大的Python网络爬虫框架,可以快速高效地抓取各种网站的数据。以下是一个使用Scrapy框架来爬取京东网站的示例。 首先,需要安装Scrapy框架。可以通过在命令行中运行以下命令来安装Scrapy: ``` pip install scrapy ``` 接下来,创建一个Scrapy项目。在命令行中运行以下命令: ``` scrapy startproject jingdong_spider ``` 进入生成的jingdong_spider目录,创建一个名为jingdong的爬虫。在命令行中运行以下命令: ``` cd jingdong_spider scrapy genspider jingdong jingdong.com ``` 然后,编写爬虫的代码。在jingdong_spider/spiders目录下的jingdong.py文件中编写以下代码: ```python import scrapy class JingdongSpider(scrapy.Spider): name = 'jingdong' allowed_domains = ['jingdong.com'] start_urls = ['https://www.jd.com/'] def parse(self, response): # 在这里编写解析网页的代码 pass ``` 在parse方法中,可以使用XPath或CSS选择器等方式从网页中提取所需的数据。 最后,运行爬虫。在命令行中运行以下命令: ``` scrapy crawl jingdong ``` Scrapy将开始爬取京东网站,并将提取的数据保存到指定的目标位置。 总结:使用Scrapy框架可以轻松地爬取京东网站数据。通过创建一个Scrapy项目,编写爬虫代码,并运行爬虫,我们可以从京东网站提取所需的数据并进行进一步的处理。 ### 回答3: Scrapy是一个基于Python开发的开源网络爬虫框架,可以用于快速、高效地爬取网页数据。下面简要介绍如何使用Scrapy框架来爬取京东的数据。 1. 安装Scrapy: 首先需要安装Scrapy。可以在命令行中输入以下命令:`pip install scrapy`。 2. 创建Scrapy项目: 在命令行中切换到要创建Scrapy项目的目录下,然后执行以下命令:`scrapy startproject jingdong`。这将创建一个名为"jingdong"的Scrapy项目。 3. 定义Item: 在"jingdong"项目的目录下,打开items.py文件,在其中定义要爬取的数据项,如商品名称、价格、链接等。 4. 创建Spider: 在"jingdong"项目的目录下,打开spiders文件夹,创建一个新的Python文件,命名为"jingdong_spider.py"(也可以选择其他名称)。在该文件中,导入必要的模块,定义一个Spider类,并实现start_requests和parse方法。start_requests方法用于初始化爬取的请求,而parse方法用于处理爬取的响应,并提取数据。 5. 配置爬虫: 在"jingdong"项目的目录下,打开settings.py文件,设置一些爬取相关的配置项,如USER_AGENT、ROBOTSTXT_OBEY等。 6. 运行爬虫: 在命令行中切换到"jingdong"项目的目录下,执行以下命令:`scrapy crawl jingdong_spider -o jingdong_data.csv`。其中,"jingdong_spider"是你创建的Spider类的名称,"-o jingdong_data.csv"表示将爬取的数据保存为CSV文件。 以上是利用Scrapy框架爬取京东的简要步骤。通过Scrapy的强大功能和机制,我们可以更加灵活地控制爬取规则和数据处理流程,从而高效地获取京东的相关数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值