新建scrapy项目步骤

本例以爬去豆瓣为例
#新建爬虫项目
scrapy startproject dpuban
生成名称为douban的project

#生成爬虫文件
cd douban/douban/spiders
scrapy genspider douban_spider movie.douban.com
scrapy genspider 爬虫名 域名

在此目录下会生成douban_spider.py文件,这个就是我们的爬虫文件

#修改配置文件
修改settings.py文件里的user_agent
USER_AGENT = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15’

#设置启动文件
在spiders路径下面新建main.py文件

文件内容如下
from scrapy import cmdline
cmdline.execute(‘scrapy crawl douban_spider’.split())

这样在执行项目时,直接执行main.py文件即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scrapy项目的创建步骤如下: 1. 安装Scrapy:在命令行窗口中,使用pip命令安装Scrapy。 2. 创建项目:在命令行窗口中,使用scrapy startproject命令创建一个新的Scrapy项目。 3. 创建Spider:在项目的spiders目录下,创建一个名为spider_name.py的Spider文件,并在其中定义如何爬取网站的行为。 4. 编写Item:在项目的items.py文件中定义Item的结构。 5. 编写Pipeline:在项目的pipelines.py文件中定义数据处理管道,如何处理从Spider获取到的数据。 6. 配置项目:在项目的settings.py文件中设置项目的配置,如User-Agent、请求头、代理等。 下面是一个简单的Scrapy实例,它可以爬取豆瓣电影Top250的电影名称和评分: 1. 安装Scrapy:在命令行窗口中,使用pip命令安装Scrapy。 2. 创建项目:在命令行窗口中,使用scrapy startproject命令创建一个新的Scrapy项目。 ``` scrapy startproject douban_movie ``` 3. 创建Spider:在项目的spiders目录下,创建一个名为douban_spider.py的Spider文件,并在其中定义如何爬取豆瓣电影Top250的网站的行为。 ```python import scrapy class DoubanSpider(scrapy.Spider): name = 'douban' allowed_domains = ['movie.douban.com'] start_urls = ['https://movie.douban.com/top250'] def parse(self, response): movies = response.xpath('//div[@class="hd"]') for movie in movies: title = movie.xpath('./a/span/text()').extract_first() rating = movie.xpath('../div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()').extract_first() yield { 'title': title, 'rating': rating } next_page = response.xpath('//span[@class="next"]/a/@href') if next_page: url = response.urljoin(next_page[0].extract()) yield scrapy.Request(url, callback=self.parse) ``` 4. 编写Item:在项目的items.py文件中定义Item的结构。 ```python import scrapy class DoubanMovieItem(scrapy.Item): title = scrapy.Field() rating = scrapy.Field() ``` 5. 编写Pipeline:在项目的pipelines.py文件中定义数据处理管道,如何处理从Spider获取到的数据。 ```python import pymongo class DoubanMoviePipeline(object): def __init__(self, mongo_uri, mongo_db): self.mongo_uri = mongo_uri self.mongo_db = mongo_db @classmethod def from_crawler(cls, crawler): return cls( mongo_uri=crawler.settings.get('MONGO_URI'), mongo_db=crawler.settings.get('MONGO_DATABASE', 'items') ) def open_spider(self, spider): self.client = pymongo.MongoClient(self.mongo_uri) self.db = self.client[self.mongo_db] def close_spider(self, spider): self.client.close() def process_item(self, item, spider): self.db['douban_movie'].insert_one(dict(item)) return item ``` 6. 配置项目:在项目的settings.py文件中设置项目的配置,如User-Agent、请求头、代理等。 ```python USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' ROBOTSTXT_OBEY = False DOWNLOAD_DELAY = 1 ITEM_PIPELINES = { 'douban_movie.pipelines.DoubanMoviePipeline': 300, } MONGO_URI = 'mongodb://localhost:27017/' MONGO_DATABASE = 'douban_movie' ``` 以上就是一个简单的Scrapy实例的创建步骤

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值