Scrapy的初体验
上一节安装了python2和python3的开发环境
首先第一步:进入开发环境,workon article_spider
进入这个环境:
安装Scrapy,在安装的过程中出现了一些错误:通常这些错误都是部分文件没有安装导致的,因为大学时经常出现,所以对解决这种问题,很实在,直接到http://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站下载对应的文件,下载后用pip安装,具体过程不在赘述。
然后进入工程目录,并打开我们的新创建的虚拟环境:
新建scrapy工程:ArticleSpider
创建好工程框架:在pycharm中导入
scrapy.cfg: 项目的配置文件。
ArticleSpeder/: 该项目的python模块。之后您将在此加入代码。
ArticleSpeder/items.py: 项目中的item文件。
ArticleSpeder/pipelines.py: 项目中的pipelines文件。
ArticleSpeder/settings.py: 项目的设置文件。
ArticleSpeder/spiders/: 放置spider代码的目录。
回到dos窗口用basic创建模板
上面pycharm的截图中已经创建好了:
为了今后更好的开发,创建一个用于debug的类main.py
- from scrapy.cmdline import execute
- import sys
- import os
- print(os.path.dirname(os.path.abspath(__file__)))
- sys.path.append(os.path.dirname(os.path.abspath(__file__)))
- execute(["scrapy","crawl","jobbole"])
这是代码内容
import sys 为了设置工程目录,调用命令才会生效
里面的路径最好不要写死:可以通过os获取路径,更加灵活
execute用来执行目标程序的
jobbole.py的内容
- class JobboleSpider(scrapy.Spider):
- name = 'jobbole'
- allowed_domains = ['blog.jobbole.com']
- start_urls = ['http://blog.jobbole.com/110287']
- def parse(self, response):
- re_selector = response.xpath("/html/body/div[1]/div[3]/div[1]/div[1]/h1")
- re2_selector = response.xpath('//*[@id="post-110287"]/div[1]/h1')
- title = response.xpath('//div[@class="entry-header"]/h1/text()')
- create_date = response.xpath("")
- #//*[@id="112706votetotal"]
- dian_zan = int(response.xpath("//span[contains(@class,'vote-post-up ')]/h10/text()").extract()[0])
- pass
通过xpath技术获取对应文章的一些字段信息,包括标题,时间,评论数,点赞数等,因为比较简单所以不在赘述
写到这儿,大家也知道每次在pycharm里面debug和麻烦,因为scrapy比较大,所以这时候我们可以使用Scrapy shell来调试
标记部分是目标网站的地址:现在我们可以更加愉悦的进行调试了。
今天scrapy的初体验就到这里了
Scrapy的初体验的更多相关文章
- scrapy爬虫初体验
scrapy是一个python的爬虫框架,用于提取结构性数据.在这次宝贝计划1的项目中要用到一些数据.但四处联系后各方可能因为一些隐私问题不愿提供数据信息.这样我们只能自己爬取,存入数据库,再进行调用 ...
- Scrapy 初体验
开发笔记 Scrapy 初体验 scrapy startproject project_name 创建工程 scrapy genspider -t basic spider_name website. ...
- Scrapy初体验(一) 环境部署
系统选择centOs 7,Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, ...
- python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨
python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...
- [转]Python爬虫框架--pyspider初体验
标签: python爬虫pyspider 2015-09-05 10:57 9752人阅读 评论(0) 收藏 举报 分类: Python(8) 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
随机推荐
- Android中对应用程序的行为拦截实现方式概要
这次是真的好长时间都没有写博客了,主要不是因为工作上的事,主要还是这个问题真的有点复杂,实现起来有点麻烦,所以研究了很长时间(大约有一个月的时间).但是幸好最后问题搞定了~~ 一.问题场景 想实现36 ...
- NX二次开发-使用MFC对话框不能用UF_UI_select等函数解决方法
VC/MFC调用UG Dialog要进入加锁状态 加锁 UF_UI_lock_ug_access ( UF_UI_FROM_CUSTOM ); 此处为UF_UI_select的函数 解锁 UF_UI_ ...
- 原生js 与 jQuery对比
1.原生JS与jQuery操作DOM对比 : https://www.cnblogs.com/QianBoy/p/7868379.html 2.比较jQuery与JavaScript的不同功能实 ...
- (转)NAT与NAT穿越学习总结--ICE过程讲的不错
转:http://cgs1999.iteye.com/blog/1994072 1.引言网络地址转换(Network Address Translation,简称NAT)是一种在IP分组通过路由器或防 ...
- openSSL实现AES加密
Openssl是很常见的C接口的库,个人觉得易用.以下是AES加密的使用备忘.如果你有一定的密码学基础,那么就很好理解.代码是从网上弄下来的(原始地址已经忘记了),然后在尝试的过程中改了一点东西.其它 ...
- C#基础-->cookie和session
关于cookie和session cookie 1:一个cookie中可以存放的数据最大在4KB左右 2:cookie存放于客户端 3:cookie分为两种 一种是会话cookie 一种是持久co ...
- Django框架(十二)—— 补充:inclusion_tag、defer、only、choice、事务、创建多对多的第三张表
目录 补充:inclusion_tag.defer.only.choice.事务.创建多对多的第三张表 一.inclusion_tag 1.作用 2.使用 二.defer与only 1.定义 2.使用 ...
- python调用tushare获取A股上市公司管理层人员信息
接口:stk_managers 描述:获取上市公司管理层 注:tushare模块下载和安装教程,请查阅我之前的文章 积分:用户需要2000积分才可以调取,具体请参阅本文最下方积分获取办法 输入参数 名 ...
- mongo数组修改器—$push、$ne、$addtoset、$pop、$pull
这几个方法也很有意思 $push 像已有的数组末尾加入一个元素,要是元素不存在,就会创建一个新的元素,如果元素存在了,就会再添加一个一模一样的元素,会造成元素的重复,所以在使用的时候,要确保该元素不存 ...
- 内网渗透_linux_socks代理_reGeorg+proxychains
过程演示 测试前提是目标服务器已经getshell. 1.将 reGeorgSocksProxy 中的 tunnel.jsp 文件放置到目标服务器web目录,查看能否正常访问(如图). 2.设置kal ...