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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\270\211\346\254\241\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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\272\214\346\254\241\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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\272\214\346\254\241\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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232/jd_search.py" new file mode 100644 index 0000000000000000000000000000000000000000..6b96fa8762548b81af1fee54e7051da9278b3c8e --- /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\271\264\350\275\273\344\272\272\344\270\215\350\256\262\345\220\276\345\276\267/\347\254\254\345\215\201\345\221\250\344\275\234\344\270\232/\347\254\254\345\215\201\345\221\250\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232/jd_search.py" @@ -0,0 +1,51 @@ +import json +from bs4 import BeautifulSoup +from jd_crawler_scrapy.items import JdCrawlerScrapyItem + + +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}&pag={page_num}" + yield scrapy.FormRequest( + url = url, + method = 'GET', + # formdata=data, + callback=self.parse_search + + + ) + def parse_search(self, response): + + soup = BeautifulSoup(response.text, "lxml") + item_array = soup.select("ul[class='gl-warp clearfix'] li[class='gl-item']") + for item in item_array: + sku_id = item.attrs["data-sku"] + img = item.select("img[data-img='1']") + price = item.select("div[class='p-price']") + title = item.select("div[class='p=name p-name-type-2']") + shop = item.select("div[class='p-shop']") + icons = item.select("div[class='p-icons']") + + img = img[0].attrs['data-lazy-img'] if img else "" + price = price[0].strong.i.text if price else "" + title = title[0].text.strip() if title else "" + shop = shop[0].a.attrs['title'] if shop[0].text.strip() else "" + icons = json.dumps([tag_ele.text for tag_ele in icons[0].select('i')]) if icons else '[]' + + + item = JdCrawlerScrapyItem() + item["img"] = img + item["sku_id"] = sku_id + item["price"] = price + item["title"] = title + item["shop"] = shop + item["icons"] = icons + + yield item +