【爬虫实战】Scrapy + xpath 爬取江西省 23 万+挂网药品数据

声明

本爬虫仅供学习交流使用,请勿用作商业用途。爬取的时候注意控制速度,勿对网站造成攻击。

1. 实现说明

该政府网站没有任何反爬虫措施,直接抓取即可,注意不要对网站造成攻击。

思路:

  1. 通过 scrapy 抓取网页;
  2. 利用 xpath 解析网页,提取药品信息;
  3. 将提取的信息写入 csv 文件;
  4. 观察网页结构,构造下一页 url;
  5. 新的 url 重复 1-4 步。

2. 一些细节说明

主要参考文档:

  1. Scrapy 官方文档
  2. Scrapy 中 xpath 的使用

使用的一些命令:

  1. 创建一个 scrapy 项目:scrapy startproject jiang_xi_drug_spider
  2. 在 shell 中使用 scrapy 爬取一个页面,便于调试抓取数据:scrapy shell "https://yp.jxyycg.cn/djypcg/jxyycg/search/medicineRegionBidPriceQry.shtml?dypn=1" '

注:因为网站很规律,没有遇到异常, 所以代码没有做异常捕获处理。正常需要,捕获异常, 记录爬取失败的 url和数据,方便分析和重新抓取。

3. 一些踩坑说明

  1. 存为 csv 时,用本地的 Excel 打开乱码,可以根据这篇帖子解决:csv 文件打开乱码,有哪些方法可以解决?

4. 核心代码

import os
from typing import Any

import scrapy
import csv
import pathlib


class DrugSpider(scrapy.Spider):
    name = 'jiang_xi_drug'
    start_
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值