scrapy 爬虫
程序员文章站
2022-05-06 19:08:21
...
scrapy 爬虫
创建项目:
scrapy startproject dd
进入工程中:
cd ../dangdang
生成爬虫程序:
scrapy genspider dd dd.com
使用pycharm 编写爬虫程序:
1、items.py
通过 items.py 程序中生成需要保存的字段,格式为:name=scrapy.Field() 注意爬取数据中需要每一段数据需要几个字段就创建几个字段。
2、dd.py
通过修改 dd.py 程序对下载器响应回来的信息进行解析,其中解析手法通常使用 response.xpath("").extract() 语法规则进行解析。 其中解析出来的数据保存到 items.py 程序中创建的字段***意要使用items.py 中创建的存储区域,需要在该程序中导入。目的是为了通用一个存储区域,保证了该字段在整个 dangdang 项目中都能通用)。
xpath 表达式:
“/” : 逐层提取
“text()” : 提取标签下面的文本
“//标签名** ” :提取网页中标签名为 标签名** 的标签
“//标签名**【@属性名=“属性值”】”:提取属性名为 属性值的 ** 标签
“@属性名” :代表取某个属性值
xpath 匹配出来的结果为一个列表,列表内是该网页的所有匹配出的集合。
当需要的数据匹配完了后需要将item yield 回去,yield item
如果有下一页需要爬取:
需要重新构建出 url
并通过 yield Request(url,callback=self.parse) 进行重复上面的执行,直到没有可以访问的url 为止;
3. settings.py
settings.py 中可以设置是否需要遵循robots 协议,以及请求头等相关信息等等
4. pipelines.py
对dangdang.py 程序中传过来的文件进行存储等处理
注意:
如果此处使用文件方式进行数据存储,建议打开文件的时候使用 编码encoding="utf-8" 否则容易报错
with open("test.txt"."a", encoding = "utf-8") as f:
上一篇: scrapy爬虫
下一篇: windows命令行安装composer