爬虫实战:使用Scrapy框架爬取当当网商品信息。(信息存入本地数据库)

本文介绍了如何使用XPath和Scrapy框架进行爬虫实战,详细解析了从创建爬虫文件到提取当当网商品的标题、链接和评论数,最后将数据存储到本地数据库的过程。内容包括XPath基础、Scrapy项目的创建、items.py和spiders配置,以及数据持久化的实现。
摘要由CSDN通过智能技术生成

一.Xpath表达式基础

1.XPath与正则表达式简单对比。
(1)XPath表达式效率高一些。
(2)正则表达式功能强大一点。
(3)一般来说,优先选择XPath,但是XPath解决不了的问题用正则表达式解决。
2.常用的XPath表达式:
/ 逐层提取。
//标签名 提取所有名为的标签。
//标签名[@属性=属性值] 提取属性为
的标签。(起限制作用)
@属性名 代表取某个属性。
text() 提取标签下面的文本。
3.实例:
提取网页的标题:/html/title/text()
提取所有div标签://div
提取div中

标签的内容: //div[@class=’tools’]

二.当当网商品信息爬取实战

(1)创建爬虫文件 dangdang
打开cmd进入指定的文件夹,输入语句:scrapy startproject dangdang 创建爬虫文件。
在这里插入图片描述创建完之后如图所示:

在这里插入图片描述
(2)创建爬虫文件,基于basic 文件,域名为 dangdang.com(域名去主页url中查)。
在dangdang文件夹下输入 scrapy genspider -t basic dd dangdang.com
在这里插入图片描述
在spiders文件中就新建了一个爬虫文件,如图所示:
在这里插入图片描述
(3)打开pycham导入dangdandg爬虫工程,首先打开items.py 编写爬取目标。
在items.py中创建三个容器:title(用来存储标题),link(用来存储链接),comment(用来存储评论数)。

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

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html

import scrapy


class DangdangItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    # 创建三个容器
    title = scrapy.Field()  # 存储标题
    link = scrapy.Field()  # 存储link
    comment = scrapy.Field(
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值