首页 > 其他 > 详细

scrapy基础代码解析

时间:2020-04-13 20:49:03      阅读:74      评论:0      收藏:0      [点我收藏+]
  • 爬虫文件剖析:
    1. # -*- coding: utf-8 -*-
    2. import scrapy
    3. class QiubaiSpider(scrapy.Spider):
    4. name = ‘qiubai‘ #应用名称
    5. #允许爬取的域名(如果遇到非该域名的url则爬取不到数据)
    6. allowed_domains = [‘https://www.qiushibaike.com/‘]
    7. #起始爬取的url
    8. start_urls = [‘https://www.qiushibaike.com/‘]
    9. #访问起始URL并获取结果后的回调函数,该函数的response参数就是向起始的url发送请求后,获取的响应对象.该函数返回值必须为可迭代对象或者NUll
    10. def parse(self, response):
    11. print(response.text) #获取字符串类型的响应内容
    12. print(response.body)#获取字节类型的相应内容
  • 配置文件settings.py修改:

    1. #修改内容及其结果如下:
    2. #19行:
    3. USER_AGENT = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36‘ #伪装请求载体身份
    4. 22行:ROBOTSTXT_OBEY = False #可以忽略或者不遵守robots协议
  • scrapy基于xpath数据解析操作:

    • 爬取糗事百科的段子数据

      1. # -*- coding: utf-8 -*-
      2. import scrapy
      3. class QiubaiSpider(scrapy.Spider):
      4. name = ‘qiubai‘
      5. allowed_domains = [‘https://www.qiushibaike.com/‘]
      6. start_urls = [‘https://www.qiushibaike.com/‘]
      7. def parse(self, response):
      8. #xpath为response中的方法,可以将xpath表达式直接作用于该函数中
      9. odiv = response.xpath(‘//div[@id="content-left"]/div‘)
      10. content_list = [] #用于存储解析到的数据
      11. for div in odiv:
      12. #xpath函数返回的为列表,列表中存放的数据为Selector类型的数据。我们解析到的内容被封装在了Selector对象中,需要调用extract()函数将解析的内容从Selecor中取出。
      13. author = div.xpath(‘.//div[@class="author clearfix"]/a/h2/text()‘)[0].extract()
      14. content=div.xpath(‘.//div[@class="content"]/span/text()‘)[0].extract()
      15. #打印展示爬取到的数据
      16. print(author,content)

scrapy基础代码解析

原文:https://www.cnblogs.com/huahuawang/p/12693446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!