如何使用scrapy框架爬取网页完整数据
项目准备
开启一个有模板的scrapy项目,在这里有scrapy经验的朋友应该都比较熟练了。进入到创建好的虚拟环境当中运行以下shell代码。
scrapy startproject [projectname]
cd projectname
scrapy genspider -t crawl spidername ["spiderdomain"]
完成之后就可以打开开发工具(pycharm),运行项目
分析简书页面
项目的目的是爬取简书的所有文章,所以从简书首页url着手。然后通过f12抓包查看文章url的基本格式可以观察到,打开一篇文章的url为https://www.jianshu.com/p/d97946dfdcef,而在首页显示的url为
项目url模板格式可以用正则匹配全站文章的url,匹配站内url将follow设为true。
rules = ( Rule(LinkExtractor(allow=r'.*/p/[0-9a-z]{12}.*'), callback='parse_detail', follow=True), )
获取所需数据
定义你的callback函数,以本人项目提取数据为例。
def parse_detail(self, response):
title=response.xpath('//h1[@class="title"]/text()').get()
content=response.xpath('//div[@class="sho

本文介绍了如何利用scrapy框架爬取简书网站的文章数据。首先,通过项目准备步骤创建scrapy项目,然后分析简书页面URL结构以获取文章链接。接着,定义callback函数提取所需数据,并定制pipelines将数据存储到MySQL数据库。最后,通过命令行或Python脚本运行爬虫。尽管目前的方法无法抓取所有动态加载的内容,作者计划后续结合selenium进行完善。

567

被折叠的 条评论
为什么被折叠?



