Python爬虫入门案例6:scrapy的基本语法+使用scrapy进行网站数据爬取

news/2024/11/24 10:51:53/

几天前在本地终端使用pip下载scrapy遇到了很多麻烦,总是报错,花了很长时间都没有解决,最后发现pycharm里面自带终端!(狂喜),于是直接在pycharm终端里面写scrapy了

这样的好处就是每次不用切换路径了,pycharm会直接把路径定位到项目包的路径下,非常方便。

而且下载scrapy可以直接在一个文件里面写import scrapy,然后install scrapy包就可以了,很快就下完了。

这时候我们就可以直接进行scrapy程序的创建了。

基本语法:

(1)创建scrapy爬虫项目

        scrapy startproject 项目名

(2)创建爬虫文件

        scrapy genspider 爬虫文件名 爬取的网页

(3)运行爬虫代码

        scrapy crawl 爬虫的名字

这里的爬虫主代码,需要在spiders文件中写

下面举个例子,使用scrapy来爬取汽车之家的汽车型号,与其对应的价格

import scrapyclass CarsSpider(scrapy.Spider):name = "cars"allowed_domains = ["https://car.autohome.com.cn/price/brand-15.html"]start_urls = ["https://car.autohome.com.cn/price/brand-15.html"]def parse(self, response):print("-------------")name_list=response.xpath("//div[@class='main-title']/a/text()")price_list=response.xpath("//div[@class='main-lever']//span/span/text()")for i in range(len(name_list)):name=name_list[i].extract()price=price_list[i].extract()print("-------------")print(name,price)

爬取结果:

 


http://www.ppmy.cn/news/78235.html

相关文章

当前社会下,软件测试工程师如何提高竞争力应对变局?

当前社会大家压力都很大,但唯独不变的,笔者还是认为大家要提高自己的技能能力,提高自己,以不变应万变!!软件测试在工作中可以从如下方面提高自己: 1. 想客户之所想 在测试的过程中时刻想着用户…

设计模式 - 工厂模式

简单工厂模式 基本介绍: 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一 个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族 中最简单实用的模式简单工厂模式:定义了一个创建对象的类,由这个类来封…

数据结构(C语言):有序顺序表的设计及相关操作函数

一、题目 有序顺序表的设计 实验要求: 有序顺序表的操作,包括初始化,求数据元素个数,插入,删除和取数据元素。放在头文件中(建议尝试用动态数组实现有序顺序表);注意有序顺序表的…

【nginx】同一接口有时返回500(client_body_temp)

问题描述: 同一个接口,有能正常访问并返回的,有的访问未到服务器直接返回500。 查看nginx日志(error.log),发现open() "/nginx/client_body_temp/0000476534" failed (13: Permission denied)报…

使用go语言构建区块链 Part4.事务1

英文源地址 简介 事务是比特币的核心, 区块链的唯一目的是以安全可靠的方式存储交易, 因此在交易创建后没有人可以修改. 今天我们开始实现事务, 但由于这是一个相当大的主题, 我将它分成两部分: 在这一部分中, 我们将实现事务的通用机制, 在第二部分中, 我们将研究细节. 此外…

图表控件LightningChart JS v.4.0全新发布!引入DataGrid 组件、新的颜色主题

LightningChart JS是性能最高的JavaScript图表库,专注于实时数据可视化。是Web上性能最高的图表库具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用,从而实现高刷新率和流畅的动画。…

基于微信小程序的医院挂号预约系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

VUE2.0学习笔记

v-on:click 可以简写为 clickvm.$data 输出data对象vm.$el 输出对象的htmlvm.$destroy() 销毁这个实例this. e l , t h i s 指向组件的实例。 el ,this指向组件的实例。 el,this指向组件的实例。el指向当前组件的DOM元素。8个生命周期, create、mount、destroy、upd…