scrapy startproject + 项目名字 如:scrapy startproject runoob,生成的项目文件结构如下:
创建完成spider项目runoob后,进入项目(cd runoob) 使用命令:scrapy genspider + 爬虫名 + 爬取的范围(url地址) 生成一个spider
如:scrapy genspider firstSpider "https://www.runoob.com/",在spider文件夹下多出一个新的py文件,如下:
项目内各个文件的作用:
打开firstSpider.py文件,完善spider
import scrapy class FirstspiderSpider(scrapy.Spider): name = ‘firstSpider‘ # 爬虫名 allowed_domains = [‘https://www.runoob.com/‘] # 爬取的范围 start_urls = [‘https://www.runoob.com/w3cnote/scrapy-detail.html‘] # 开始爬取的url地址 def parse(self, response): pass
import scrapy class FirstspiderSpider(scrapy.Spider): name = ‘firstSpider‘ # 爬虫名 allowed_domains = [‘https://www.runoob.com/‘] # 爬取的范围 start_urls = [‘https://www.runoob.com/w3cnote/scrapy-detail.html‘] # 开始爬取的url地址 def parse(self, response): # 使用xpath定位元素位置,获取class=‘article-intro‘的div下的ul下的li li_list = response.xpath("//div[@class=‘article-intro‘]//ul/li") # 遍历li获取结果 for li in li_list: item = {} if li.xpath(".//strong/text()").extract_first() is not None: item["title"] = li.xpath(".//strong/text()").extract_first() item["text"] = li.xpath(".//p/text()").extract_first() print(item)
至此一个简单的爬虫完成了。
原文:https://www.cnblogs.com/xifengmo/p/10990168.html