scrapy爬取京东商城某一类商品的信息和评论(一)

刚写完京东爬虫,趁着记忆还深刻,写点总结吧。


一、前提


默认已用scrapy爬取过网站,有爬虫基础,有爬虫环境


二、以爬取电子烟为例


1、任务一:爬取商品信息


在搜索框里面直接搜索电子烟,搜出来的界面,你会发现它是动态加载的。即一开始源代码里面只能看到30条商品的信息,随着你的下拉,另外30条才会加载出来。因此爬取起来比较麻烦。后来发现,从京东左边的商品分类中找到电子烟这一分类




此时的搜索到的电子烟分类的展示网页是一开始就已加载了全部60条商品信息的。商品信息准备从这一页入手。


有爬虫基础的很快就能知道下一步要怎么做了,首先我们需要获得每个商品的信息和链接,称搜索出来的展示页面为搜索页面,进入到商品的详情页面为详情页面。


(1)我们先从搜索页的处理开始




通过抽取<li class="gl-item"> 标签,很快能得到商品的信息。

从搜索页面能抓取到商品的ID,详情页链接,商品名字,店铺名字这些信息。而价钱是动态加载的,注意千万不要被检查(就是chrome通过右键点击检查看到的代码)误解。爬虫爬到的是源代码,检查看到的代码和源代码的代码是不一样的。以源代码为主。


这是检查看到的代码




这是源代码看到的代码



不信可以用爬虫爬取网页试试。所以确定价钱通过网页爬取不到ÿ

  • 15
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
Scrapy是一个强大的Python爬虫框架,可以用来爬取各种网站的信息。下面是一个Scrapy爬取京东商品信息的简单示例: 1. 创建Scrapy项目 在命令行中输入以下命令来创建一个Scrapy项目: ``` scrapy startproject jingdong ``` 这将创建一个名为“jingdong”的Scrapy项目。 2. 创建爬虫 在命令行中输入以下命令来创建一个爬虫: ``` scrapy genspider jingdong_spider jd.com ``` 这将在项目中创建一个名为“jingdong_spider”的爬虫,用于爬取jd.com网站上的商品信息。 3. 编写爬虫代码 打开“jingdong_spider.py”文件,添加以下代码: ```python import scrapy class JingdongSpider(scrapy.Spider): name = "jingdong" allowed_domains = ["jd.com"] start_urls = [ "https://list.jd.com/list.html?cat=9987,653,655" ] def parse(self, response): for sel in response.xpath('//ul[@class="gl-warp clearfix"]/li'): item = {} item['name'] = sel.xpath('div[@class="gl-i-wrap"]/div[@class="p-name"]/a/em/text()').extract()[0] item['price'] = sel.xpath('div[@class="gl-i-wrap"]/div[@class="p-price"]/strong/i/text()').extract()[0] yield item ``` 这个简单的爬虫代码将在“https://list.jd.com/list.html?cat=9987,653,655”页面中爬取商品名称和价格,并将它们保存到一个字典中。 4. 运行爬虫 在命令行中输入以下命令来运行爬虫: ``` scrapy crawl jingdong ``` Scrapy将开始爬取京东商品信息,并将结果打印到命令行中。 这只是一个简单的示例,你可以根据自己的需求修改代码以及爬取其他网站的信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值