1 / 8
文档名称:

基于Scrapy的爬虫解决方案.docx

格式:docx   大小:119KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于Scrapy的爬虫解决方案.docx

上传人:科技星球 2022/3/11 文件大小:119 KB

下载得到文件列表

基于Scrapy的爬虫解决方案.docx

文档介绍

文档介绍:基于Scrapy的爬虫解决方案
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
导语 | Scrapy是一个较为流行的Python爬虫框架,本文将简单介绍Scrapy的使用方法了。
5. 调试爬虫
在写代码的过程中,由于不同网页的源码的组织方式不同,所以需要用一种交互式的方式来访问网页,以此来修改代码。虽然在很多情况下可以通过Chrome浏览器F12的审查模式来查看网页的HTML源码,但是在有些情况下代码中获得的源码和浏览器中看到的却是不一样的,所以交互式访问网页就必不可少了。(也可以通过运行完整爬虫的方式来调试代码,但是效率就有点低下了)。
要想交互式访问网页,需要在项目目录下执行命令:
scrapy shell 
使用体验类似于直接在命令行输入python进入Python的交互式界面。
6. 完善解析函数
解析函数的完善是爬虫的核心步骤。解析函数的初始化如下:
def parse(self, response): pass
其中只有response一个实参,该实参就是访问某个URL链接的返回结果,里面含有该URL链接的HTML源码(,所以用法类似,但是包含的成员函数更多)。而解析函数parse的作用就是从response中杂乱的HTML源码提取出有价值的信息。
在Scrapy框架中,有两种解析HTML源码的函数,分别是css和xpath。其中css是Scrapy专有的函数,具体用法只能在Scrapy文档中查找,不建议使用;而xpath是一种通用的语言(例如BeautifulSoup类中也能使用),它的一些语法的定义在网上资料更多。xpath的具体用法要讲的话就太多了,所以这里不多做介绍,如果有需要,可以直接去搜索引擎查找相关资料。
如果需要在解析过程中遇到了需要解析的URL链接,则可以直接调用:
yield (url_str, callback=)
其中,url_str是需要解析的URL链接的字符串,,这里我使用的是默认的解析函数,当然这里也能使用自定义的解析函数(自定义解析函数的入参出参类型需要和默认解析函数相同)。
值得注意的是:,还能通过meta字段来传递参数,而参数的获取能通过 来实现。
7. 小建议
默认情况下,(该文件规定了哪些能爬,哪些不能爬),但往往我们想要爬取的内容都被规定为不能爬取的内容。 ROBOTSTXT_OBEY = True 改为 ROBOTSTXT_OBEY = False 来避免这种情况的发生。
三、常见问题
1. 动态网页不能正确解析
上述的简单操作只能解析静态网页,需要动态加载的网页(例如含有Javascript代码的网页)则无法正常解析,因为response里的HTML源码是动态加载之前的页面的源码,而我们需要的大多是动态加载之后的页面。
可以通过在Python中调用Chrom