web爬虫-用Scrapy抓个网页
Scrapy是一种更快的高端Web爬虫和Web抓取架构,用以抓取网址并从其网页页面中获取非结构化数据。它可适用于多种主要用途,从大数据挖掘到监管和功能测试。
规矩,应用前先用pip install scrapy开展安装,假如安装全过程中碰到不正确一般为error:Microsoft Visual C 14.0 is required. 只必须浏览https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted网站免费下载Twisted-19.2.1-cp37-cp37m-win_amd64安装就可以,留意cp37代表的就是我机器python的版本号3.7 amd64代表我的电脑操作系统十位数。
安装应用 pip install Twisted-19.2.1-cp37-cp37m-win_amd64.whl就可以,随后在再次安装scrapy便会取得成功安装了;安装成功后大家就可以应用scrapy指令开展建立爬虫新项目了。
下面在我的桌面运行cmd指令,应用 scrapy startproject webtutorial建立新项目:
会在桌面上形成一个webtutorial文件夹名称,大家看下文件目录构造:
随后我们在spiders文件夹下新创建一个quotes_spider.py,撰写一个爬虫用于抓取http://quotes.toscrape.com网站储存为一个html文档,网页截图如下所示:
编码如下所示:
import scrapy#界定爬虫类class QuotesSpider(scrapy.Spider): #特定爬虫名称 一会要使用 name = "quotes" #逐渐要求方式 def start_requests(self): urls = [ 'http://quotes.toscrape.com/page/1/', 'http://quotes.toscrape.com/page/2/'] for url in urls: yield scrapy.Request(url=url, callback=self.parse)#分析载入回到具体内容到html中 def parse(self, response): page = response.url.split("/")[-2] filename = 'quotes-%s.html' % page with open(filename, 'wb') as f: f.write(response.body) self.log('Saved file %s' % filename)
以后的文件目录构造为:
随后我们在命令中转换到webtutorial文件夹名称下,运行命令scrapy crawl quotes开展抓取(quotes为刚刚特定的爬虫名):
发觉出错了,No module named 'win32api',这儿大家安装一下win32api
应用指令 pip install pypiwin32,随后执行scrapy crawl quotes:
得知爬虫每日任务取得成功实行,这时会在webtutorial文件夹名称下形成2个html:
至此应用scrapy的抓取网页入门结束,一二节见。
下边的就是我的公众号二维码照片,热烈欢迎
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。