twisted
搭建的异步爬虫框架.
scrapy爬虫框架根据组件化设计理念和丰富的中间件, 使其成为了一个兼具高性能和高扩展的框架安装
pip install scrapy
创建项目
scrapy startproject jd_crawler_scrapy
目录结构
SPIDERS
项目文件, 一个scrapy项目下可以有多个爬虫实例scrapy爬虫demo
import scrapy
class JdSearch(scrapy.Spider):
name = "jd_search"
def start_requests(self):
for keyword in ["鼠标", "键盘", "显卡", "耳机"]:
for page_num in range(1, 11):
url = f"https://search.jd.com/Search?keyword={keyword}&page={page_num}"
# 选用FormRequest是因为它既可以发送GET请求, 又可以发送POST请求
yield scrapy.FormRequest(
url=url,
method='GET',
# formdata=data, # 如果是post请求, 携带数据使用formdata参数
callback=self.parse_search # 指定回调函数处理response对象
)
def parse_search(self, response):
print(response)
启动爬虫
scrapy crawl spider_name