Scrapy创建项目、爬虫文件
创建项目
执行命令
scrapy startproject <项目名>
项目结构
创建爬虫文件
- 方式一:通过命令生成
scrpay genspider <爬虫名(必须唯一)> <domain>
<爬虫名>: 必须时唯一的
<domain>: 这个随意填,因为后期会修改爬虫文件中的start_url属性。
- 方式二:在项目的spider包下,自己编写一个类,并继承爬虫类(Spider或CrawlSpider)
"""
CrawlSpider类型的爬虫会根据指定的rules规则自动找到url比自动爬取。
优点:适合整站爬取,自动翻页爬取
缺点:比较难以通过meta传参,只适合一个页面就能拿完数据的。
"""
class TaobaoSpider(CrawlSpider):
name = "taobao"
allowed_domains = ["taobao.com"]
start_urls = ["https://taobao.com"]
# crawl类型的爬虫特有的规则定义
rules = (
# LinkExtractor链接提取类,根据allow定义的正则表达式从网页源码中提取url链接
Rule(LinkExtractor(allow=r"Items/"), callback="parse_item", follow=True),
Rule(LinkExtractor(allow=r"Items/"), callback="parse_detail", follow=False),
)
def parse_item(self, response):
item = {}
#item["domain_id"] = response.xpath('//input[@id="sid"]/@value').get()
#item["name"] = response.xpath('//div[@id="name"]').get()
#item["description"] = response.xpath('//div[@id="description"]').get()
return item
本文来自博客园,作者:运维爱背锅,转载请注明原文链接:https://www.cnblogs.com/juelian/p/17559625.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步