初学Scrapy

本文介绍了初学者如何使用Scrapy框架进行网络爬虫开发,包括创建项目、定义items、自定义request请求头和cookies、多页爬取、信息存储及settings配置。详细讲述了在items.py中定义爬取字段,在spiders中实现请求和解析,通过pipelines保存数据到csv或mysql,并在settings.py中设置相关开关。
摘要由CSDN通过智能技术生成

1、items.py   像字典一样

定义所爬取信息的名字,相当于规定好要提取信息的Key键

2.spiders包中  用来请求和解析 

默认起始爬取链接、request请求、def parse()解析函数

(可以重定义request,修改url、请求头、cookies)

返回url需要再回调解析函数,最终爬取的信息,作为参数传递给items,封装成类似字典,进入管道

3、pipelines.py 下载和保存所提取的信息

open函数,写入文件

4、settings.py   开启管道、cookies、robot协议等开关

一、创建项目和项目文件,运行项目

cmd命令行中输入

1.创建项目:

scrapy startproject 项目名字

切换到项目目录下

2.创建项目文件:

scrapy genspider 文件名  爬取的目标主域名

 3.运行项目

命令行中输入和创建main.py文件都可以

main.py

from scrapy import cmdline

cmdline.execute('scrapy crawl fofa'.split())

# 加.split()分隔下 'scrapy crawl fofa'会有空格,避免输入错误,也是支持运行的

二、所需信息名字,封装到items中

把需要信息的类别名字封成类似字典容器一样,相当于以后爬取信息的标头Key键

items.py

import scrapy


class SqUrlItem(scrapy.Item):
 
    urls=scrapy.Field()
    ips=scrapy.Field()

三、自定义request请求头和cookies,多页爬取

spiders包中,项目文件.py

import scrapy
from fake_useragent import UserAgent
from ..items import SqUrlItem

class FofaSpider(scrapy.Spider):

    # 作为启动时候的名字,唯一性
    name = 'fofa'
    # 允许爬取的主域名
    allowed_domains = ['fofa.info']
    # 启动的初始连接,后期如果重写request请求这个就不管用了
    # start_urls = ['http://fofa.info/']

    # 自定义的请求头,cookies需要单独拿出来
    headers = {
        'Accept': ''
        'Accept-Encoding': '',
        'Accept-Language': '',
        'Cache-Control': '',
        'Connection': '',
        'Host': '',
        'If-None-Match': '""',
        'Referer': '/',
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值