第4章 scrapy爬取知名技术文章网站(1)
4-1 scrapy安装以及目录结构介绍
安装scrapy可以看我另外一篇博文:Scrapy的安装--------Windows、linux、mac等操作平台,现在是在虚拟环境中安装可能有不同。
1.创建有python3的虚拟环境
mkvirtualenv --python=C:\Users\admin\AppData\Local\Programs\Python\Python35\python3.exe py3scrapy
2.安装scrapy
进入环境py3scrapy,pip install -i https://pypi.douban.com/simple/ scrapy 豆瓣源安装非常快。
3.补充
进入虚拟环境: workon py3scrapy
创建项目: scrapy startproject ArticleSpider
建立spider: scrapy genspider jobbole blog.jobbple.com
4-2 pycharm 调试scrapy 执行流程
1.运行爬虫文件
建立一个main.py文件,在ArticleSpider文件目录下
from scrapy.cmdline import execute
import sys,os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(['scrapy','crawl','jobbole'])
os.path.abspath(__file__) --------main.py目录
dirname() --------main.py父目录
2.要学会用断点和DEBUG
在实战中操作
4-3~5 xpath的用法
1.xpath简介
- xpath使用路径表达式在xml和html中进行导航。
- xpath包含标准函数库。
- xpath是一个w3c的标准。
2.xpath节点关系
- 父节点
- 子节点
- 同胞节点
- 先辈节点
- 后代节点
3.xpath语法
4.补充
为什么有时候自己写的xpath明明对的,却获取不到数据?
原因:F12产生的源码,不同于网页源代码,前者可能是js加载完的源代码。response.xpath()是根据网页源代码来提取信息的。
.
问题:No modle named ‘win32api’
解决: pip install -i https://pypi.douban.com/simple/ pypiwin32
.
contains()用法
response.xpath("//span[contains(@class, 'bookmark-btn')]/text()").extract()[0]
表示在span标签中class属性中含有 bookmark-btn 即为符合
.
正文保留html标签,以便后续研究
.
scrapy shell url 调试xpath
如果在py3中就都显示中文了
.
re.math(reg,html).group() #正则匹配
.
tag_list=['职场','2 评论','今昔']
[element for element in tag_list if not element.strip().endswith('评论')]
#结果['职场', '今昔']
4-6~7 css选择器实现字段解析
作者:今孝
出处:http://www.cnblogs.com/jinxiao-pu/p/6713333.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
第4章 scrapy爬取知名技术文章网站(1)的更多相关文章
- 第4章 scrapy爬取知名技术文章网站(2)
4-8~9 编写spider爬取jobbole的所有文章 # -*- coding: utf-8 -*- import re import scrapy import datetime from sc ...
- Python3.6+Scrapy爬取知名技术文章网站
爬取分析 伯乐在线已经提供了所有文章的接口,还有下一页的接口,所有我们可以直接爬取一页,再翻页爬. 环境搭建 Windows下安装Python: http://www.cnblogs.com/0bug ...
- 第5章 scrapy爬取知名问答网站
第五章感觉是第四章的练习项目,无非就是多了一个模拟登录. 不分小节记录了,直接上知识点,可能比较乱. 1.常见的httpcode: 2.怎么找post参数? 先找到登录的页面,打开firebug,输入 ...
- 用scrapy爬取亚马逊网站项目
这次爬取亚马逊网站,用到了scrapy,代理池,和中间件: spiders里面: # -*- coding: utf-8 -*- import scrapy from scrapy.http.requ ...
- 爬虫框架之Scrapy——爬取某招聘信息网站
案例1:爬取内容存储为一个文件 1.建立项目 C:\pythonStudy\ScrapyProject>scrapy startproject tenCent New Scrapy projec ...
- 使用scrapy爬取jian shu文章
settings.py中一些东西的含义可以看一下这里 python的scrapy框架的使用 和xpath的使用 && scrapy中request和response的函数参数 & ...
- Scrapy爬取伯乐在线文章
首先搭建虚拟环境,创建工程 scrapy startproject ArticleSpider cd ArticleSpider scrapy genspider jobbole blog.jobbo ...
- scrapy爬取伯乐在线文章数据
创建项目 切换到ArticleSpider目录下创建爬虫文件 设置settings.py爬虫协议为False 编写启动爬虫文件main.py
- 一文搞定scrapy爬取众多知名技术博客文章保存到本地数据库,包含:cnblog、csdn、51cto、itpub、jobbole、oschina等
本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高 ...
随机推荐
- MD5签名
/// <summary> /// 校验签名 /// </summary> /// <param name="mode ...
- Python 日常学习
习惯了java的思想.用java的思想来获取python元组中的数据.结果出错了. yuanzu_s = ("one", "two", "three& ...
- Java Web 学习与总结(一)Servlet基础
配置环境:https://www.cnblogs.com/qq965921539/p/9821374.html 简介: Servlet是Sun公司提供的一种实现动态网页的解决方案,在制定J2EE时引入 ...
- java使用Redis1--安装与简单使用
环境: CentOS6.4,Redis3.0.3 一.Redis安装(需要安装gcc) 官网http://download.redis.io/releases/redis-3.0.3.tar.gz上下 ...
- [真题] 一道 vsftp 运维题
一道 vsftp 运维题 一.前言 在 V 站上凑巧看到了好友发的求助帖,五天时间一个理他的都没有.哈哈哈~ 废话不多说,我们来试试. 二.题目 这里我们假设存在这样的场景: 网络内有普通用户 ade ...
- python 对mongodb进行压力测试
最近对mongoDB数据库进行性能分析,需要对数据库进行加压. 加压时,最初采用threading模块写了个多线程程序,测试的效果不理想. 单机读数据库每秒请求数只能达到1000次/s.而开发的jav ...
- SAE实践——用SVN命令行同步/提交代码
1. 同步应用到本地 注:首次使用svn需要输入安全认证密码 在终端输入以下命令 svn co https://svn.sinaapp.com/nyhello nyhello替换为自己的应用名称. 用 ...
- mfix中输出DEM颗粒的固相速度到网格
基于mfix-19.1.2版本 方法一:直接输出差值网格固相速度 注:这种方式只适用于garg 2012颗粒差值格式在DEM中,默认是无法输出固相速度的网格值的: 但是通过搜索des文件夹下V_s关键 ...
- PHP反序列化漏洞新攻击面(BlackHat 2018)
0x00 前言 入职以来好久没有写过文章了,入职的时间里也和师傅们学到了很多,认识了很多的新朋友.最近因为BlackHat 黑客大会的一个议题,PHP反序列化漏洞利用被挖掘出新的攻击面.这里本着记 ...
- 微信内置的浏览器window.location.href 跳转不兼容问题
1.不兼容苹果手机---->>>>使用模拟触发a标签 <a id="alink" href="http://www.baidu.com&qu ...