From a0bc9d45bcb06e019a97751bee0e686870bb5e34 Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 21:54:14 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20=E7=AC=AC=E5=8D=81?= =?UTF-8?q?=E5=91=A8=203.1-3.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\347\254\254\345\215\201\345\221\250 3.1-3.7/.keep" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/.keep" diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/.keep" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/.keep" new file mode 100644 index 00000000..e69de29b -- Gitee From e45ceba3dd712f82136929e1366789f1cb934047 Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 21:54:29 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20=E4=B8=80=E4=BA=8C?= =?UTF-8?q?=E8=8A=82=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.keep" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/.keep" diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/.keep" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/.keep" new file mode 100644 index 00000000..e69de29b -- Gitee From cc68d4b91f59d9176dafa0b18857f721dc1469ab Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 21:55:29 +0800 Subject: [PATCH 3/7] scrapy demo --- .../jd_search.py" | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 "\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/jd_search.py" diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/jd_search.py" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/jd_search.py" new file mode 100644 index 00000000..b44f8d41 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/jd_search.py" @@ -0,0 +1,23 @@ +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 请求,携带数据使用 body + callback=self.parse_search # 指定回调函数处理 response 对象 + ) + # 解析器 + def parse_search(self,response): + print(response) + + -- Gitee From 88ef3c43dba56362c5fff4a2b9c09a88adbae33c Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 21:56:38 +0800 Subject: [PATCH 4/7] =?UTF-8?q?add=20=E7=AC=AC=E4=BA=8C=E6=9C=9F=E8=AE=AD?= =?UTF-8?q?=E7=BB=83=E8=90=A5/5=E7=8F=AD/5=E7=8F=AD=5F=E5=BC=A0=E5=85=B4?= =?UTF-8?q?=E9=9B=A8/=E7=AC=AC=E5=8D=81=E5=91=A8=203.1-3.7/=E4=B8=80?= =?UTF-8?q?=E4=BA=8C=E8=8A=82=E4=BD=9C=E4=B8=9A/=E7=AC=AC=E4=BA=8C?= =?UTF-8?q?=E8=8A=82.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\347\254\254\344\272\214\350\212\202.md" | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 "\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" new file mode 100644 index 00000000..8cfe4f5d --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" @@ -0,0 +1,2 @@ +scrapy 组件运作流程 +**2** \ No newline at end of file -- Gitee From 5b2962bc3c86fef35146ba7a41d4bfc76326bef7 Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 22:08:47 +0800 Subject: [PATCH 5/7] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=8C=E6=9C=9F?= =?UTF-8?q?=E8=AE=AD=E7=BB=83=E8=90=A5/5=E7=8F=AD/5=E7=8F=AD=5F=E5=BC=A0?= =?UTF-8?q?=E5=85=B4=E9=9B=A8/=E7=AC=AC=E5=8D=81=E5=91=A8=203.1-3.7/?= =?UTF-8?q?=E4=B8=80=E4=BA=8C=E8=8A=82=E4=BD=9C=E4=B8=9A/=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E8=8A=82.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\347\254\254\344\272\214\350\212\202.md" | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" index 8cfe4f5d..779082a8 100644 --- "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" @@ -1,2 +1,10 @@ scrapy 组件运作流程 -**2** \ No newline at end of file +1.ENGINE 从 SPIDERS 获取初始请求 REQUESTS +2.ENGINE 得到 REQUESTS 后,发送给 SCHEDULER, SCHEDULER 对 REQUESTS 调度后产出任务 +3.SCHEDULER 返回下一个请求任务给 ENGINE +4.ENGINE 将请求任务发送给 DOWNLOADER 完成下载任务, 途径下载器中间件 +5.一旦 DOWNLOADER 完成下载任务, 返回 RESPONSE 给 ENGINGE, 途径下载器中间件 +6.ENGINE 得到 RESPONSE 后,发送 RESPONSE 对象给 SPIDERS 进行解析和处理, 途径爬虫中间件 +7.SPIDERS 处理完成之后,将解析结果 ITEMS 返回给 ENGINGE, 发送一个新的 REQUESTS 给 ENGINE +8.ENGINGE 将 解析结果 ITEMS 发送给 PIPLINES 进行处理存储数据,拿到 REQUESTS 发送给 SCHEDULER 处理 +9.继续以上循环,直到没有新的任务产出 \ No newline at end of file -- Gitee From cd05c43b8a57385522f7f90e6c228ffaecbc7bef Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 22:09:13 +0800 Subject: [PATCH 6/7] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=8C=E6=9C=9F?= =?UTF-8?q?=E8=AE=AD=E7=BB=83=E8=90=A5/5=E7=8F=AD/5=E7=8F=AD=5F=E5=BC=A0?= =?UTF-8?q?=E5=85=B4=E9=9B=A8/=E7=AC=AC=E5=8D=81=E5=91=A8=203.1-3.7/?= =?UTF-8?q?=E4=B8=80=E4=BA=8C=E8=8A=82=E4=BD=9C=E4=B8=9A/=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E8=8A=82.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\347\254\254\344\272\214\350\212\202.md" | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" index 779082a8..30191164 100644 --- "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" @@ -1,3 +1,5 @@ + +``` scrapy 组件运作流程 1.ENGINE 从 SPIDERS 获取初始请求 REQUESTS 2.ENGINE 得到 REQUESTS 后,发送给 SCHEDULER, SCHEDULER 对 REQUESTS 调度后产出任务 @@ -7,4 +9,5 @@ scrapy 组件运作流程 6.ENGINE 得到 RESPONSE 后,发送 RESPONSE 对象给 SPIDERS 进行解析和处理, 途径爬虫中间件 7.SPIDERS 处理完成之后,将解析结果 ITEMS 返回给 ENGINGE, 发送一个新的 REQUESTS 给 ENGINE 8.ENGINGE 将 解析结果 ITEMS 发送给 PIPLINES 进行处理存储数据,拿到 REQUESTS 发送给 SCHEDULER 处理 -9.继续以上循环,直到没有新的任务产出 \ No newline at end of file +9.继续以上循环,直到没有新的任务产出 +``` -- Gitee From cacbe09764cb35c51aa892c8a3e9010a96120e4d Mon Sep 17 00:00:00 2001 From: JJJZXY <1522844911@qq.com> Date: Fri, 5 Mar 2021 22:10:20 +0800 Subject: [PATCH 7/7] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=8C=E6=9C=9F?= =?UTF-8?q?=E8=AE=AD=E7=BB=83=E8=90=A5/5=E7=8F=AD/5=E7=8F=AD=5F=E5=BC=A0?= =?UTF-8?q?=E5=85=B4=E9=9B=A8/=E7=AC=AC=E5=8D=81=E5=91=A8=203.1-3.7/?= =?UTF-8?q?=E4=B8=80=E4=BA=8C=E8=8A=82=E4=BD=9C=E4=B8=9A/=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E8=8A=82.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\347\254\254\344\272\214\350\212\202.md" | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" index 30191164..4c0ec222 100644 --- "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\345\221\250 3.1-3.7/\344\270\200\344\272\214\350\212\202\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202.md" @@ -1,13 +1,13 @@ ``` -scrapy 组件运作流程 -1.ENGINE 从 SPIDERS 获取初始请求 REQUESTS -2.ENGINE 得到 REQUESTS 后,发送给 SCHEDULER, SCHEDULER 对 REQUESTS 调度后产出任务 -3.SCHEDULER 返回下一个请求任务给 ENGINE -4.ENGINE 将请求任务发送给 DOWNLOADER 完成下载任务, 途径下载器中间件 -5.一旦 DOWNLOADER 完成下载任务, 返回 RESPONSE 给 ENGINGE, 途径下载器中间件 -6.ENGINE 得到 RESPONSE 后,发送 RESPONSE 对象给 SPIDERS 进行解析和处理, 途径爬虫中间件 -7.SPIDERS 处理完成之后,将解析结果 ITEMS 返回给 ENGINGE, 发送一个新的 REQUESTS 给 ENGINE -8.ENGINGE 将 解析结果 ITEMS 发送给 PIPLINES 进行处理存储数据,拿到 REQUESTS 发送给 SCHEDULER 处理 -9.继续以上循环,直到没有新的任务产出 +#scrapy 组件运作流程 +#1.ENGINE 从 SPIDERS 获取初始请求 REQUESTS +#2.ENGINE 得到 REQUESTS 后,发送给 SCHEDULER, SCHEDULER 对 REQUESTS 调度后产出任务 +#3.SCHEDULER 返回下一个请求任务给 ENGINE +#4.ENGINE 将请求任务发送给 DOWNLOADER 完成下载任务, 途径下载器中间件 +#5.一旦 DOWNLOADER 完成下载任务, 返回 RESPONSE 给 ENGINGE, 途径下载器中间件 +#6.ENGINE 得到 RESPONSE 后,发送 RESPONSE 对象给 SPIDERS 进行解析和处理, 途径爬虫中间件 +#7.SPIDERS 处理完成之后,将解析结果 ITEMS 返回给 ENGINGE, 发送一个新的 REQUESTS 给 ENGINE +#8.ENGINGE 将 解析结果 ITEMS 发送给 PIPLINES 进行处理存储数据,拿到 REQUESTS 发送给 SCHEDULER 处理 +#9.继续以上循环,直到没有新的任务产出 ``` -- Gitee