Scrapy爬虫基本命令 | 各类配置文件的使用 | 其他的爬虫小技巧

本文详细介绍了如何使用Scrapy框架搭建和配置爬虫项目,包括创建项目、生成爬虫文件、启动爬虫,以及设置常用参数。重点讲解了Scrapy的XPath语法和中间件的编写,如随机User-Agent、保存数据到不同格式(JSON、TXT、CSV、MySQL)的管道实现。此外,还提到了带Cookie爬取、URL拼接、参数传递、正则非贪婪模式和JS执行等高级技巧。

爬虫基本命令

新建项目

在开始爬取之前,必须创建一个新的Scrapy项目。进入自定义的项目目录中,在终端下运行下列命令:

scrapy startproject mySpider

生成爬虫文件

生成爬虫名是itcast, 爬虫允许的域名是 itcast.cn
这里爬虫允许爬取的域名范围
如果后面修改代码时增加了其他域名,需要在这里进行修改

scrapy genspider itcast "itcast.cn"
>> 代码变化示例如下:
name = "itcast" 
allow_domains = ['itcast.cn']

启动爬虫文件

  1. 在终端使用命令行:
Scrapy crawl itcast
  1. 制作爬虫启动文件:
from scrapy import cmdline

# 爬虫启动文件
cmdline.execute("scrapy crawl baidu_news".split())

scrapy常用参数:

encoding: 使用默认的 ‘utf-8’ 就行。
dont_filter: 表明该请求不由调度器过滤。这是当你想使用多次执行相同的请求,忽略重复的过滤器。默认为False。
errback: 指定错误处理函数
method:请求一般不需要指定,默认GET方法,可设置为"GET", “POST”, "PUT"等,且保证字符串大写

xpath基本语法:

表达式 结果内容
/bookstore/book[price>35.00] 选取bookstore下book元素price 元素的值须大于 35.00。
//title[@la=‘eng’] 选取所有title元素,且这些元素拥有值为 eng 的 la 属性。
/bookstore/book[1] 选取属于 bookstore 的第一个 book 元素。
//a/text() 选取a标签下的内容
//a/@href 选取 a 标签下的href属性的值

模块编写

middleware.py

在middleware.py下编写随机user-agent库,请求随机提取一个user-agent
需要在setting.py打开DOWNLOADER_MIDDLEWARES,并且更改内容

import random

#每次请求设置随机user-agent
class BaiduDownloaderMiddleware(object):
    user_agents = [
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",
    "Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lijiamingccc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值