scrapy爬虫框架安装与应用(包括post请求、递归访问http)

阅读: 评论:0

scrapy爬虫框架安装与应用(包括post请求、递归访问http)

scrapy爬虫框架安装与应用(包括post请求、递归访问http)

scrapy安装:

scrapy有几种安装方法,这里只介绍最简单实用的,在windows和linux上次方法都能够适用,安装过程如下:

  1. 根据所使用系统的信息下载安装python2版本(scrapy目前只支持python2.6以上3以下的版本)对应的anaconda()。因为anaconda中集成了很多python包,可以免去安装很多依赖。
  2. 采用anaconda命令安装scrapy:conda install scrapy
  3. 使用命令:scrapy startproject + 项目名 , 创建一个scrapy项目

若没有报错,且在当前目录下生成了一个项目文件则安装成功。生成项目目录如下图所示,被选中的文件需要自己建立,其余为系统生成的。

简单例子测试:

为了进一步确认scrapy安装的正确性,跑一个简单的例子,在官网上有一个简单例子(.0/intro/tutorial.html)
在项目目录的spiders文件夹下面建立一个dmoz_spider.py文件,内容如下:

import scrapyclass DmozSpider(scrapy.Spider):name = "dmoz"allowed_domains = ["dmoz"]start_urls = ["/","/"]def parse(self, response):filename = response.url.split("/")[-2] + '.html'with open(filename, 'wb') as f:f.write(response.body)

使用scrapy crawl dmoz启动爬虫,此时可能会报错:

出现该错误的原因是因为采用anaconda安装scrapy时安装的twisted版本过高,换成17版本以下即可!!!(当时坑了我很长时间)
若在当前目录下成功生成html文件,且包含正确的信息,则说明我们的框架安装正确且可用。

实际应用案例

在实际应用中,我们爬取的网页内容会比较复杂,包括如下几种情况:

  1. 有时不是直接爬取网址上面的内容,而是需要通过Post请求并设置参数来获取想要的内容。(post请求处理)
  2. 还有些情况是要获取表单的详细信息,抓取到表单数据后,还要进一步对表单中出现的地址进行爬取,来获取详细信息。(递归爬取http)
  3. 复杂情况下html的解析(使用xpath和selector)
  4. 在一个spider中需要处理多个item时应该如何处理。
  5. 如何采用mongodb数据库进行数据的持久化。

具体解决方法及源代码可参考github:
(若遇到其他问题可留言讨论)

本文发布于:2024-02-03 03:59:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690399448507.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:递归   爬虫   框架   scrapy   post
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23