Python爬虫——scrapy_项目结构和基本方法

  1. scrapy项目结构
    项目名字
        项目名字
            spider文件夹(存储的是爬虫文件)
                init
                自定义的爬虫文件    *核心功能文件
            init
            items           定义数据结构的地方 爬取的数据都包含哪些
            middlewares     中间件 代理机制
            pipelines       管道  用来处理下载的数据
            settings        配置文件    robots协议    ua定义等
  1. response的属性和方法
    这里使用58同城来进行解析
    使用终端创建爬虫项目
scrapy startproject scrapy_58tc_37

进入到spider文件夹目录
使用终端在spiders文件夹创建爬虫文件

scrapy genspider tc https://bj.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91

在parse函数里写代码

  • 获取响应的字符串
content = response.text
  • 获取二进制数据
response.body
  • 可以直接使用xpath方法直接解析response中的内容
response.xpath 
  • 提取seletor对象的data属性值
response.extract() 
  • 提取的是seletor列表里的第一个数据
response.extract_first() 

使用终端运行

scrapy crawl tc

完整代码

import scrapy


class TcSpider(scrapy.Spider):
    name = "tc"
    allowed_domains = ["bj.58.com"]
    start_urls = ["https://bj.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91"]

    def parse(self, response):
        # 返回的是字符串
        content_1 = response.text
        print(content_1)
        # 返回二进制数据
        content_2 = response.body
        print('---------------------------')
        print(content_2)

        span = response.xpath('//div[@id="filter"]/div[@class="tabs"]/a[@class="select"]/span')[0]
        print('--------------------------------')
        print(span.extract())

你可能感兴趣的:(Python爬虫,python,爬虫,scrapy)