爬虫——scrapy框架基础

649次阅读
没有评论

学习:https://www.cnblogs.com/foremostxl/p/10078543.html

基础语法

在命令行下创建工程: scrapy startproject 项目名称

在命令行下创建项目: cd 进入工程所在文件夹 scrapy genspider 爬虫文件的名称 起始url

再执行命令: 项目文件下执行 :scrapy crawl 爬虫文件的名称 –nolog(阻止日志信息的输出) settings里 19行:之前程序里的headers,伪装UA—对请求载体的身份进行伪装 22行:False—不遵从robots协议

爬虫——scrapy框架基础

import scrapy

class TestSpider(scrapy.Spider): # 爬虫文件的名称:通过爬虫文件的名称可以指定的定位到某一个具体的爬虫文件 name = 'test' # 允许的域名:只可以爬取指定域名下的页面数据,一般注释掉 # allowed_domains = ['www.qiushibaike.com']

# 起始url,自动加协议头,注意协议 start_urls = ['https://www.qiushibaike.com/text']

# 解析方法:对获取的页面数据进行指定内容的解析,建议使用Xpath解析 # response:根据起始url列表发起请求,请求成功后返回的响应对象 # parse方法返回值:必须为迭代器或者空

def parse(self, response): # 建议大家使用xpath进行解析(框架集成了xpath解析的接口) div_list = response.xpath("//div[@id='content-left']/div") for div in div_list: # author = div.xpath('./div/a[2]/h2/text()') # content = div.xpath(".//div[@class='content']/span/text()")

# xpath解析到的指定内容被存储到了Selector对象

# extract()改方法可以将Selector对象数据值拿到 #author = div.xpath('./div/a[2]/h2/text()').extract()[0] # extract()[0]======>extract_first()

author = div.xpath('./div/a[2]/h2/text()').extract_first() content = div.xpath(".//div[@class='content']/span/text()").extract_first() print(author) print(content)

小结:

  • xpath语法
  • extract()[0]=extract_first()
  • start_urls 自动加协议头,注意协议
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-25发表,共计1255字。
新手QQ群:570568346,欢迎进群讨论 Python51学习