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