در این مطلب، ویدئو خزیدن و دنبال کردن پیوندها با SCRAPY – Web Scraping with Python Project با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:46
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:02,000
سلام به همه خوش آمدید اوه در این ویدیو من
2
00:00:02,000 –> 00:00:03,760
از scrapey استفاده می کنم و کاری که می
3
00:00:03,760 –> 00:00:05,680
خواهیم انجام دهیم این است که
4
00:00:05,680 –> 00:00:07,759
آدرس های دسته بندی را از جلوی یک
5
00:00:07,759 –> 00:00:09,360
وب سایت در صفحه اول حذف می کنیم و سپس از
6
00:00:09,360 –> 00:00:11,440
آن استفاده می کنیم همه آن پیوندها را دنبال کنید
7
00:00:11,440 –> 00:00:12,480
8
00:00:12,480 –> 00:00:14,320
و سپس دادهها را از پشت آنها دریافت کنید،
9
00:00:14,320 –> 00:00:15,679
بنابراین این یک فروشگاه آنلاین است که
10
00:00:15,679 –> 00:00:17,279
میخواهیم هر دسته را مرور
11
00:00:17,279 –> 00:00:19,119
کنیم و محصولات را از آنجا دریافت کنیم، بنابراین
12
00:00:19,119 –> 00:00:20,640
اولین کاری که باید انجام دهم این است که
13
00:00:20,640 –> 00:00:21,920
باید یک فروشگاه اینترنتی راهاندازی کنم. پروژه
14
00:00:21,920 –> 00:00:24,240
من محیط مجازی خود را آماده و
15
00:00:24,240 –> 00:00:25,119
در حال اجرا دارم،
16
00:00:25,119 –> 00:00:26,560
اکیداً توصیه می کنم
17
00:00:26,560 –> 00:00:28,720
زمانی که از scrapy استفاده می کنید از محیط مجازی استفاده کنید
18
00:00:28,720 –> 00:00:30,480
و من پیپ scrapey را نصب کرده ام،
19
00:00:30,480 –> 00:00:32,640
بنابراین می خواهم یک پروژه شروع scrapey انجام دهم
20
00:00:32,640 –> 00:00:35,680
21
00:00:35,680 –> 00:00:38,719
و این یک وب سایت گیاهان جعلی است،
22
00:00:38,719 –> 00:00:40,239
بنابراین ما قرار است آن را گیاهان تقلبی بنامیم
23
00:00:40,239 –> 00:00:41,360
و میتوانیم ببینیم که میگوید
24
00:00:41,360 –> 00:00:42,480
ما آنجا این کار را انجام دادهایم
25
00:00:42,480 –> 00:00:45,039
و به ما میگوید که به پروژه جدیدمان سی دی بزنیم
26
00:00:45,039 –> 00:00:45,920
27
00:00:45,920 –> 00:00:49,120
و سپس از scrapy gen spider استفاده
28
00:00:49,120 –> 00:00:51,199
کنیم و ما این گیاه
29
00:00:51,199 –> 00:00:52,399
را بنامیم که تقلبی است.
30
00:00:52,399 –> 00:00:55,840
dash plants dot co dot uk
31
00:00:55,840 –> 00:00:57,680
همانطور که فقط با دنبال کردن این مطلب می توانیم ببینیم
32
00:00:57,680 –> 00:00:59,039
در اینجا
33
00:00:59,039 –> 00:01:01,760
ما اساساً از الگوی پیش فرض
34
00:01:01,760 –> 00:01:03,840
برای یک عنکبوت استفاده می کنیم و آن را به
35
00:01:03,840 –> 00:01:04,799
این صورت ایجاد
36
00:01:04,799 –> 00:01:07,840
می کنیم، بنابراین اکنون کاری که می خواهم انجام دهم این است
37
00:01:07,840 –> 00:01:10,159
که این را در مقابل کد باز کنم
38
00:01:10,159 –> 00:01:12,320
و ما این کار را انجام خواهیم داد. قادر به دیدن
39
00:01:12,320 –> 00:01:14,320
عنکبوت ما در اینجا باز است
40
00:01:14,320 –> 00:01:16,159
امم نگران نباشید من آن را درست می کنم تا
41
00:01:16,159 –> 00:01:17,520
زمانی که واقعاً شروع به کدنویسی می کنیم بتوانیم این خوب و آسان را ببینیم
42
00:01:17,520 –> 00:01:18,320
43
00:01:18,320 –> 00:01:20,240
بنابراین اکنون می خواهیم ادامه دهیم و
44
00:01:20,240 –> 00:01:21,360
وب سایت را بررسی کنیم
45
00:01:21,360 –> 00:01:22,640
که در واقع قصد دارم این را منتقل کنم
46
00:01:22,640 –> 00:01:24,640
بنابراین ما این را در
47
00:01:24,640 –> 00:01:26,400
اینجا داریم و می توانیم ببینیم که اگر به
48
00:01:26,400 –> 00:01:27,920
پایین اسکرول کنم که همه این
49
00:01:27,920 –> 00:01:30,400
دسته ها را در اینجا داریم، بنابراین ایده این است که
50
00:01:30,400 –> 00:01:32,000
ما
51
00:01:32,000 –> 00:01:34,240
این صفحه اصلی را برای شروع با
52
00:01:34,240 –> 00:01:36,320
scrapy خراش می دهیم و همه این
53
00:01:36,320 –> 00:01:38,159
پیوندهای دسته را پیدا کنید و سپس به هر یک بروید
54
00:01:38,159 –> 00:01:39,600
و سپس محصولات را خراش دهید،
55
00:01:39,600 –> 00:01:41,360
بنابراین اگر یکی از آنها را باز کنم، می توانید ببینید که
56
00:01:41,360 –> 00:01:43,920
در پشت آن محصولات در اینجا وجود دارد،
57
00:01:43,920 –> 00:01:45,680
ما اساساً روی آن
58
00:01:45,680 –> 00:01:47,520
قسمت از نحوه انجام آن تمرکز خواهیم کرد. کاری که
59
00:01:47,520 –> 00:01:48,799
من نمیخواهم انجام دهم این است که اطلاعات زیادی به دست نمیآورم، نمیخواهم
60
00:01:48,799 –> 00:01:50,240
61
00:01:50,240 –> 00:01:51,840
عمیقتر بروم اگرچه شما میتوانید
62
00:01:51,840 –> 00:01:53,840
و من
63
00:01:53,840 –> 00:01:55,119
در این مورد از لودر آیتم یا آیتم استفاده نمیکنم، زیرا
64
00:01:55,119 –> 00:01:56,799
65
00:01:56,799 –> 00:01:58,719
66
00:01:58,719 –> 00:02:00,159
اگر میخواهید کمی بیشتر در مورد
67
00:02:00,159 –> 00:02:02,880
آن بدانید، ویدیوی اسکراپی خود را برای مبتدیان دارم
68
00:02:02,880 –> 00:02:04,719
که با دادههایی که دریافت میکنیم، آن را واقعاً ساده نگه میداریم. به شما کمک خواهد کرد
69
00:02:04,719 –> 00:02:06,479
تا جزئیات بیشتری را در این مورد
70
00:02:06,479 –> 00:02:08,479
و همچنین ویدیوی لودر آیتم و آیتم به شما ارائه دهد
71
00:02:08,479 –> 00:02:10,479
که اگر در حال انجام یک
72
00:02:10,479 –> 00:02:12,800
پروژه خراشیدگی کمی جدی تری هستید یا حتی پروژه ای
73
00:02:12,800 –> 00:02:14,080
که باید بیشتر بخواهید اجرا کنید
74
00:02:14,080 –> 00:02:15,760
، قطعا توصیه می کنم که
75
00:02:15,760 –> 00:02:16,720
شما از آن استفاده می کنید
76
00:02:16,720 –> 00:02:18,319
در حالی که در این ویدیو همانطور که گفتم من
77
00:02:18,319 –> 00:02:20,080
نمی روم، بنابراین کاری که
78
00:02:20,080 –> 00:02:23,120
اکنون می خواهم انجام دهم این است که این آدرس اینترنتی
79
00:02:23,120 –> 00:02:25,040
را بگیرم و به ترمینال خود برگردم و
80
00:02:25,040 –> 00:02:26,160
می روم برای پاک کردن این موضوع و ما از
81
00:02:26,160 –> 00:02:27,840
پوسته scrapy استفاده می کنیم
82
00:02:27,840 –> 00:02:30,000
تا بفهمیم چگونه می خواهیم به
83
00:02:30,000 –> 00:02:32,319
همه این داده ها دسترسی پیدا کنیم، بنابراین پوسته scrapey را انجام می دهیم
84
00:02:32,319 –> 00:02:34,879
و سپس به آن آدرس اینترنتی را
85
00:02:34,879 –> 00:02:36,239
که اکنون به دنبال آن هستیم،
86
00:02:36,239 –> 00:02:38,319
اگر به هر دلیلی، می دهیم. شما سعی می کنید
87
00:02:38,319 –> 00:02:40,480
و این کار را انجام می دهید، هیچ داده ای پس
88
00:02:40,480 –> 00:02:42,080
نمی گیرید، کار خوبی که می توانید انجام دهید این است که یک
89
00:02:42,080 –> 00:02:44,160
کاربر اضافی را اضافه کنید و چگونه می خواهید
90
00:02:44,160 –> 00:02:46,000
این کار را انجام دهید بین
91
00:02:46,000 –> 00:02:49,200
پوسته و آدرس اینترنتی است که dash s را انجام می دهید
92
00:02:49,200 –> 00:02:52,560
و سپس user agent را انجام می دهید
93
00:02:52,560 –> 00:02:54,640
برابر است با آن و سپس
94
00:02:54,640 –> 00:02:56,640
عامل کاربری خود را در این رشته در اینجا قرار می دهید اما
95
00:02:56,640 –> 00:02:58,000
من نیازی به انجام آن ندارم برای این
96
00:02:58,000 –> 00:03:00,480
مورد، فکر نمیکنم اینتر را بزنم
97
00:03:00,480 –> 00:03:02,720
و میتوانیم ببینیم که حدود 200
98
00:03:02,720 –> 00:03:04,400
پاسخ در وسط صفحه دریافت میکنیم
99
00:03:04,400 –> 00:03:06,959
که عالی است، بنابراین اکنون میتوانم
100
00:03:06,959 –> 00:03:07,920
101
00:03:07,920 –> 00:03:10,480
پاسخ آن صفحه وب را دستکاری کنم و
102
00:03:10,480 –> 00:03:11,840
این واقعا عالی است زیرا شما فقط می توانید
103
00:03:11,840 –> 00:03:13,680
آن را به هم بزنید و آنچه را
104
00:03:13,680 –> 00:03:14,480
که می خواهید بفرستید
105
00:03:14,480 –> 00:03:16,400
و فقط یک درخواست ارائه شده است، بنابراین کاری
106
00:03:16,400 –> 00:03:18,000
که می توانیم انجام دهیم این است که می
107
00:03:18,000 –> 00:03:20,480
توانیم پاسخ دهیم تا به پاسخ خود دسترسی پیدا کنیم.
108
00:03:20,480 –> 00:03:21,200
109
00:03:21,200 –> 00:03:24,879
بسیار خوب،
110
00:03:24,879 –> 00:03:25,360
ما می
111
00:03:25,360 –> 00:03:27,120
توانیم 200 خود را ببینیم و اکنون از
112
00:03:27,120 –> 00:03:29,840
انتخابگر css استفاده می کنم، بنابراین من do.css را انجام می دهم
113
00:03:29,840 –> 00:03:31,040
و اینجا جایی است که انتخابگر css خود را قرار می دهیم،
114
00:03:31,040 –> 00:03:33,360
بنابراین اگر به
115
00:03:33,360 –> 00:03:34,159
وب سایت برگردم و
116
00:03:34,159 –> 00:03:37,200
عنصر را بررسی کنیم اکنون ما میتوانیم جلو برویم
117
00:03:37,200 –> 00:03:38,720
و فقط روی برخی از این
118
00:03:38,720 –> 00:03:41,680
دستهبندی شناور کنیم و اگر این مقدار را در قسمت پایینی بزرگ کنم،
119
00:03:41,680 –> 00:03:42,480
120
00:03:42,480 –> 00:03:45,760
ما ج تمام دسته بندی ها را در اینجا در
121
00:03:45,760 –> 00:03:48,959
زیر این
122
00:03:48,959 –> 00:03:52,239
محصولات دسته بندی محصولات کلاس li ابتدا ببینید و غیره،
123
00:03:52,239 –> 00:03:53,280
124
00:03:53,280 –> 00:03:55,360
بنابراین کاری که من می خواهم انجام دهم این است که
125
00:03:55,360 –> 00:03:58,239
از انتخابگرهای css خود برای دسترسی
126
00:03:58,239 –> 00:04:01,040
به لیست یک آیتم لیست با یک کلاس از
127
00:04:01,040 –> 00:04:02,400
دسته بندی محصول استفاده می کنم
128
00:04:02,400 –> 00:04:04,000
و سپس میروم و
129
00:04:04,000 –> 00:04:06,080
یک فاصله و سپس یک a برای
130
00:04:06,080 –> 00:04:06,640
ارجاع
131
00:04:06,640 –> 00:04:09,920
در اینجا این یک برچسب انجام میدهم زیرا این نشانی اینترنتی را دارد
132
00:04:09,920 –> 00:04:12,000
که میخواهم، بنابراین
133
00:04:12,000 –> 00:04:14,640
ابتدا این را به پوسته و آن را کپی میکنم. یک
134
00:04:14,640 –> 00:04:18,560
تگ li بود و این
135
00:04:18,560 –> 00:04:20,720
کلاسی بود که ما از یک نقطه برای کلاس استفاده
136
00:04:20,720 –> 00:04:22,639
میکنیم وقتی که انتخابگرهای css را انجام میدهیم اگر میخواهید
137
00:04:22,639 –> 00:04:24,400
درباره انتخابگرهای css بیشتر بدانید، من
138
00:04:24,400 –> 00:04:26,000
یک ویدیو در مورد آنها نیز دارم که در جایی پایین پیوند خواهم داد.
139
00:04:26,000 –> 00:04:27,520
یا هر
140
00:04:27,520 –> 00:04:29,120
جایی که قرار است این قسمت آخر را حذف کنم،
141
00:04:29,120 –> 00:04:30,639
زیرا خوشحالم
142
00:04:30,639 –> 00:04:31,520
که مطابقت دارد
143
00:04:31,520 –> 00:04:33,759
و من یک را انجام می دهم و سپس می خواهیم
144
00:04:33,759 –> 00:04:34,880
به
145
00:04:34,880 –> 00:04:37,520
ویژگی دسترسی داشته باشیم، بنابراین از دو دونقطه
146
00:04:37,520 –> 00:04:39,840
و attr برای ویژگی استفاده می کنیم.
147
00:04:39,840 –> 00:04:43,280
از آنجایی که ما href را از اینجا میخواهیم
148
00:04:43,280 –> 00:04:46,160
که آدرس اینترنتی در آن قرار دارد، بنابراین اگر
149
00:04:46,160 –> 00:04:46,880
Enter را بزنم
150
00:04:46,880 –> 00:04:49,040
میتوانیم ببینیم که دادههای زیادی داریم
151
00:04:49,040 –> 00:04:51,440
b ack و این به این معنی است که کار کرده است، اما
152
00:04:51,440 –> 00:04:52,880
تنها کاری که ما باید انجام دهیم این است که فقط دوبار
153
00:04:52,880 –> 00:04:53,280
بررسی کنیم،
154
00:04:53,280 –> 00:04:55,360
من می خواهم این کار را انجام دهم، در
155
00:04:55,360 –> 00:04:56,800
پایان اولین مورد
156
00:04:56,800 –> 00:04:58,240
مانند این نقطه قرار می گیرد و می توانیم ببینیم که
157
00:04:58,240 –> 00:05:00,800
یک لینک اکنون برگردانده شده است، dot get فقط
158
00:05:00,800 –> 00:05:03,120
برمی گردد. اولین موردی که پیدا میکند
159
00:05:03,120 –> 00:05:04,960
همه را دریافت میکند، همه آنها را برمیگرداند
160
00:05:04,960 –> 00:05:06,960
و همه پیوندهای محصول همه
161
00:05:06,960 –> 00:05:07,840
پیوندهای دستهبندی وجود دارد،
162
00:05:07,840 –> 00:05:10,240
متأسفیم که به آن نیاز داریم، بنابراین کاری که باید انجام دهم این
163
00:05:10,240 –> 00:05:11,440
است که میخواهم
164
00:05:11,440 –> 00:05:13,199
این مورد را بدون اینکه نقطه در انتهای آن قرار گیرد کپی کنم.
165
00:05:13,199 –> 00:05:13,919
زیرا ما بعداً این کار را انجام می دهیم
166
00:05:13,919 –> 00:05:14,880
167
00:05:14,880 –> 00:05:18,240
و سپس به کد خود باز می گردیم و پس از
168
00:05:18,240 –> 00:05:22,000
تنظیم کلاس من در اینجا از
169
00:05:22,000 –> 00:05:23,919
این تابع عبور استفاده می کنیم و می خواهم
170
00:05:23,919 –> 00:05:24,560
بگویم
171
00:05:24,560 –> 00:05:27,520
که این جایی است که پیوندها
172
00:05:27,520 –> 00:05:29,360
اساساً چگونه این هستند کار می کند
173
00:05:29,360 –> 00:05:31,199
این است که ما از این
174
00:05:31,199 –> 00:05:32,880
تابع عبور در صفحه اصلی استفاده
175
00:05:32,880 –> 00:05:34,880
می کنیم تا همه پیوندهای دسته بندی را دریافت کنیم و سپس
176
00:05:34,880 –> 00:05:36,800
از
177
00:05:36,800 –> 00:05:39,360
آن درخواستی برای دنبال کردن هر یک از آن پیوندها
178
00:05:39,360 –> 00:05:40,880
در حال حاضر با
179
00:05:40,880 –> 00:05:43,280
بازده scrapey که مانند بازگشت شما می
180
00:05:43,280 –> 00:05:45,520
توانید یک آیتم را ارائه دهید یا می توانید
181
00:05:45,520 –> 00:05:47,280
یک درخواست ارائه دهید و در این مورد ما آنها را از دست می دهیم
182
00:05:47,280 –> 00:05:48,880
نمیتوانم درخواستی ارائه دهم، بنابراین من دیگر به این مجوز نیاز
183
00:05:48,880 –> 00:05:50,000
ندارم،
184
00:05:50,000 –> 00:05:51,440
بنابراین کاری که میخواهم انجام دهم این است
185
00:05:51,440 –> 00:05:53,199
که میدانم این لیستی است
186
00:05:53,199 –> 00:05:54,560
که ما آن را مرور میکنیم،
187
00:05:54,560 –> 00:05:58,000
بنابراین چهار مورد را انجام میدهم پیوند
188
00:05:58,000 –> 00:06:00,560
در و نقطه پاسخ ما css blah blah
189
00:06:00,560 –> 00:06:01,520
blah
190
00:06:01,520 –> 00:06:04,560
blah و اکنون ما یک
191
00:06:04,560 –> 00:06:05,520
درخواست پاسخ ارائه
192
00:06:05,520 –> 00:06:08,960
می دهیم تا بتوانیم بگوییم نقطه پاسخ را
193
00:06:08,960 –> 00:06:11,199
دنبال کنید بنابراین اساساً می گوییم
194
00:06:11,199 –> 00:06:12,639
که ما آن را دنبال می کنیم
195
00:06:12,639 –> 00:06:14,800
و آنچه را که می خواهیم انجام دهیم پیوند ما را دنبال کنید
196
00:06:14,800 –> 00:06:16,319
و ما باید dot get را انجام دهیم زیرا
197
00:06:16,319 –> 00:06:18,000
به یاد داشته باشید که باید اطلاعاتی را
198
00:06:18,000 –> 00:06:19,039
که در اینجا برداشته ایم به دست آوریم
199
00:06:19,039 –> 00:06:22,160
فراموش کنید همه دریافت کنید و همه را دریافت کنید و
200
00:06:22,160 –> 00:06:22,960
اکنون
201
00:06:22,960 –> 00:06:24,639
این قسمت جایی است که می خواهیم در یک callback اضافه کنیم
202
00:06:24,639 –> 00:06:26,880
بنابراین یک callback اساساً
203
00:06:26,880 –> 00:06:27,680
جایی است که
204
00:06:27,680 –> 00:06:30,560
ما به آن صفحه برود، این پیوند
205
00:06:30,560 –> 00:06:32,319
را دنبال می کند و می خواهد کاری را انجام دهد، اگر ما
206
00:06:32,319 –> 00:06:34,160
یک تماس بک در آنجا قرار
207
00:06:34,160 –> 00:06:35,919
ندهیم، فقط به آن صفحه می رود و تنها چیزی که خواهیم دید
208
00:06:35,919 –> 00:06:36,880
209
00:06:36,880 –> 00:06:39,280
پاسخ کد وضعیت است که
210
00:06:39,280 –> 00:06:40,560
امیدوارم 200 باشد.
211
00:06:40,560 –> 00:06:42,319
اما در واقع هیچ کاری انجام نمی دهد، بنابراین
212
00:06:42,319 –> 00:06:43,840
آنچه که ما می خواهیم انجام دهیم این است که بگوییم
213
00:06:43,840 –> 00:06:44,720
پاسخ تماس
214
00:06:44,720 –> 00:06:47,440
برابر با اکنون است که ما نیاز داریم o انجام خود را انجام دهید
215
00:06:47,440 –> 00:06:49,520
زیرا ما اساساً در یک کلاس هستیم
216
00:06:49,520 –> 00:06:53,039
و سپس باید یک
217
00:06:53,039 –> 00:06:54,639
نام تابع جدید را در اینجا اضافه کنیم، بنابراین من
218
00:06:54,639 –> 00:06:56,560
این پاس را cats
219
00:06:56,560 –> 00:06:59,840
so goris می نامم، بنابراین این اولین
220
00:06:59,840 –> 00:07:01,520
کاری است که ما انجام می دهیم، بنابراین تمام کاری که باید انجام دهد این است
221
00:07:01,520 –> 00:07:02,960
که بروید و تمام پیوندهایی را که
222
00:07:02,960 –> 00:07:04,319
ما فقط در یک پوسته نگاه کردیم را دریافت کنید و
223
00:07:04,319 –> 00:07:05,759
از آنها حلقه بزند و
224
00:07:05,759 –> 00:07:07,759
آن را دنبال کند و سپس می
225
00:07:07,759 –> 00:07:08,400
226
00:07:08,400 –> 00:07:10,240
گوید که باید به آن برگردم و
227
00:07:10,240 –> 00:07:12,319
این تابع دسته های گذشته را دریافت کنم
228
00:07:12,319 –> 00:07:14,319
بنابراین ما نیاز داریم برای ایجاد آن اگر آن را
229
00:07:14,319 –> 00:07:15,759
ایجاد نکنیم، یک خطا دریافت می کنیم،
230
00:07:15,759 –> 00:07:17,840
بنابراین می خواهم بگویم دسته بندی های عبور را تعریف کنید
231
00:07:17,840 –> 00:07:18,800