使用Scrapy框架爬取j京东
时间: 2023-12-03 18:05:21 浏览: 98
python / scrapy框架 爬取京东商品
好的,以下是使用 Scrapy 爬取京东商品信息的基本步骤:
1. 创建 Scrapy 项目
在命令行中输入以下命令:
```
scrapy startproject jingdong
```
这将在当前目录下创建一个名为 `jingdong` 的 Scrapy 项目。
2. 创建 Spider
在 Scrapy 项目中,Spider 用于分析和提取网页数据。在 `jingdong/spiders` 目录下创建一个名为 `jd_spider.py` 的文件,并输入以下代码:
```python
import scrapy
class JDSpider(scrapy.Spider):
name = "jd"
allowed_domains = ["jd.com"]
start_urls = ["https://list.jd.com/list.html?cat=737,794,798"]
def parse(self, response):
for product in response.css("li.gl-item"):
yield {
"name": product.css("div.p-name em::text").get(),
"price": product.css("div.p-price strong i::text").get(),
"link": product.css("div.p-name a::attr(href)").get()
}
```
在上面的代码中,我们定义了一个名为 `JDSpider` 的 Spider,它从京东的商品列表页面开始爬取。在 `parse` 方法中,我们使用 CSS 选择器来获取每个商品的名称、价格和链接,并使用 `yield` 返回一个 Python 字典,其中包含这些数据。
3. 运行 Spider
在命令行中输入以下命令来运行 Spider:
```
scrapy crawl jd -o products.json
```
这将运行名为 `jd` 的 Spider,并将结果保存到名为 `products.json` 的文件中。
现在,您可以在项目目录下找到 `products.json` 文件,其中包含从京东网站爬取的商品信息。
以上就是使用 Scrapy 爬取京东商品信息的基本步骤。当然,您还可以根据需要进行更多的配置和优化。
阅读全文