一、目标

爬取多页人人车的车辆信息

二、分析

2.1 网站分析

在网页源代码中可以搜索到页面中的数据,所以可以判断该页面为静态加载的

三、完整代码

renrenche.py

import scrapyfrom car.items import RrcItemclass RenrencheSpider(scrapy.Spider):name = 'renrenche'allowed_domains = ['www.renrenche.com']start_urls = ['https://www.renrenche.com/bj/ershouche/?&plog_id=618ab1bbf616cab93022afa088592885']base_url = 'https://www.renrenche.com'def parse(self, response):selector = response.xpath('//ul[contains(@class,"row-fluid list-row js-car-list")]/li/a[not(@rel)]')# print(len(selector))# print(selector)for car in selector:car_name = car.xpath('./h3/text()').extract_first()total_price = car.xpath('./div[contains(@class,"tags-box")]/div/text()').extract_first().replace("\n","").replace(" ","") +"万"down_pay = car.xpath('./div[contains(@class,"tags-box")]/div/div/div/text()').extract_first()car_detail = car.xpath('./@href').extract_first()car_item = RrcItem()car_item['car_name'] = car_namecar_item['car_price'] = total_pricecar_item['down_pay'] = down_payyield car_itemflag = response.xpath('//ul[contains(@class,"pagination js-pagination")][last()]/@class').extract_first()if not flag:url = response.xpath('//ul[contains(@class,"pagination js-pagination")]/li[last()]/a/@href').extract_first()yield scrapy.Request(url=self.base_url+url,callback=self.parse)

pipelines.py

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html# useful for handling different item types with a single interface
import MySQLdb
from itemadapter import ItemAdapterfrom car.spiders.renrenche import RenrencheSpiderclass CarPipeline:def process_item(self, item, spider):return itemclass RrcPipeline:def open_spider(self,spider):conn = MySQLdb.Connect(host='localhost',user='root',password='6666',port=3306,database='maiche',charset='utf8')cursor = conn.cursor()self.conn = connself.cursor = cursordef process_item(self, item, spider):if isinstance(spider,RenrencheSpider):self.cursor.execute("insert into car(carname,totalprice,downpay) values('%s',""'%s','%s');" %(item.get('car_name'),item.get('car_price'),item.get('down_pay')))self.conn.commit()return itemdef close_spider(self,spider):self.conn.close()

四、遇到的坑

1.创建数据库连接时没有加编码格式

Python网络爬虫--项目实战--scrapy爬取人人车相关推荐

  1. python网络爬虫--项目实战--scrapy爬取人人车(5)

    一.目标 爬取多页人人车的车辆信息 二.分析 2.1 网站分析 在网页源代码中可以搜索到页面中的数据,所以可以判断该页面为静态加载的 三.完整代码 renrenche.py import scrapy ...

  2. Python网络爬虫:利用正则表达式爬取豆瓣电影top250排行前10页电影信息

    在学习了几个常用的爬取包方法后,转入爬取实战. 爬取豆瓣电影早已是练习爬取的常用方式了,网上各种代码也已经很多了,我可能现在还在做这个都太土了,不过没事,毕竟我也才刚入门-- 这次我还是利用正则表达式 ...

  3. Python网络爬虫requests、bs4爬取空姐图片,福利哦

    Scrapy框架很好,也提供了很多扩展点,可以自己编写中间件处理Scrapy的Request和Response.但是可定制化或者可掌控性来说,还是自己写的爬虫更加强一些. 接下来,我们来看一下使用Py ...

  4. 爬虫项目:scrapy爬取昵图网全站图片

    一.创建项目.spider,item以及配置setting 创建项目:scrapy startproject nitu 创建爬虫:scrapy genspider -t basic nituwang ...

  5. python网络爬虫之使用scrapy爬取图片

    在前面的章节中都介绍了scrapy如何爬取网页数据,今天介绍下如何爬取图片. 下载图片需要用到ImagesPipeline这个类,首先介绍下工作流程: 1 首先需要在一个爬虫中,获取到图片的url并存 ...

  6. Python网络爬虫项目实战(二)数据解析

    上一篇说完了如何爬取一个网页,以及爬取中可能遇到的几个问题.那么接下来我们就需要对已经爬取下来的网页进行解析,从中提取出我们想要的数据. 根据爬取下来的数据,我们需要写不同的解析方式,最常见的一般都是 ...

  7. Python网络爬虫(6)--爬取淘宝模特图片

    经过前面的一些基础学习,我们大致知道了如何爬取并解析一个网页中的信息,这里我们来做一个更有意思的事情,爬取MM图片并保存.网址为https://mm.taobao.com/json/request_t ...

  8. python3 [爬虫入门实战]scrapy爬取盘多多五百万数据并存mongoDB

    总结:虽然是第二次爬取,但是多多少少还是遇到一些坑,总的结果还是好的,scrapy比多线程多进程强多了啊,中途没有一次被中断过. 此版本是盘多多爬取数据的scrapy版本,涉及数据量较大,到现在已经是 ...

  9. Python网络爬虫——Appuim+夜神模拟器爬取得到APP课程数据

    一.背景介绍 随着生产力和经济社会的发展,温饱问题基本解决,人们开始追求更高层次的精神文明,开始愿意为知识和内容付费.从2016年开始,内容付费渐渐成为时尚. 罗辑思维创始人罗振宇全力打造" ...

最新文章

  1. ConcurrentMap接口
  2. spring 配置多数据源
  3. 评分较高对鸿蒙文,万倍增幅:鸿蒙至高神,加入诸天万界群
  4. 第十二届蓝桥杯Java省赛A组试题:异或数列
  5. 谷歌大脑:探索权重无关神经网络
  6. python 实例化方法_Python中__new__()方法的使用和实例化
  7. SpringBoot 的属性配置文件
  8. 台达plc自由口通讯_【台达PLC详解】附PLC功能总简介~
  9. 淘宝的U盘种类竟然没有京东多?
  10. android逆向 网易,Android逆向——网易云音乐排行榜api(上)
  11. 【ManageEngine】如何利用好OpManager的报表功能
  12. javascript调用php函数_JavaScript怎么调用PHP函数?
  13. 高德地图根据经纬度获取位置
  14. Windows 7下旋转屏幕的快捷键
  15. 微信隐藏代码功能大汇总-你不知道的微信命令行.doc
  16. 服务器后台怎么修改网站图片,网站后台修改图片
  17. 什么是CPU,GPU,TPU,DPU,NPU,BPU
  18. S4 HANA CO和FI自动集成:成本中心分配分摊业务实践-KSV5/KSU5
  19. 活化能使用计算机算还是,如何计算反应活化能
  20. 立场开源 | 电动锡膏挤出器

热门文章

  1. 从医院安全用电存在的问题入手,提出了安全用电的有效措施
  2. 泡泡博客社区源码,简洁,轻便php源码
  3. AAAI2021会议马上开放注册了!注意截稿时间!
  4. flash按钮控制播放
  5. 走进Cosmos之入门
  6. JS快速获取本月、上月、下月的第一天和最后一天(月初月末)
  7. Verizon收购雅虎:中外电信运营商坚持造梦内容产业
  8. c语言录取分数线,近三年各省市录取分数线
  9. conan入门(五):conan 交叉编译引用第三方库示例
  10. ASP.NET Cache的一些总结