【注】注释掉settings文件中的君子协议
import scrapy
class TcSpider(scrapy.Spider):
name = "tc"
allowed_domains = ["nj.58.com"]
start_urls = ["https://nj.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91"]
def parse(self, response):
content = response.text #响应的是字符串
# content =response.body #响应的是二进制文件
print('************************')
print(content)
# //div[@id="filter"]/div[@class="tabs"]/a/span
# //div[@id="infolist"]//td[@class="t"]/a/@title
content = response.xpath('//div[@id="infolist"]//td[@class="t"]/a/@title') #xpath方法的返回值类型是selector列表
print('**********************************')
print(content.extract())
在终端中运行:scrapy crawl tc(爬虫名称)
首先要进入spiders路径下
D:\PycharmFile> cd 爬虫学习
D:\PycharmFile\爬虫学习> cd scrapy_092_58tc/scrapy_092_58tc/spiders
D:\PycharmFile\爬虫学习\scrapy_092_58tc\scrapy_092_58tc\spiders> scrapy crawl tc
运行结果:
response的属性和方法及scrapy项目结构分析总结
1.scrapy项目的结构 项目名字 项目名字 spider文件夹 #存储的是爬虫文件 init 自定义的爬虫文件 #核心功能文件 ######****##### init items #定义数据结构的地方 爬取的数据都包含哪些 middleware #中间件 代理 pipelines #管道 用来处理下载的数据 settings #配置文件 robots协议 ua定义等 2.response的属性和方法 # content = response.text #响应的是字符串 # content =response.body #响应的是二进制文件 # content = response.xpath(‘’) #可以直接使用xpath方法来解析response中的内容 xpath方法的返回值类型是selector列表 # response.extract() #提取的是selector对象的是data # response.extract_first() #提取的是selector列表中的第一个数据