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)的更多相关文章

  1. 第4章 scrapy爬取知名技术文章网站(2)

    4-8~9 编写spider爬取jobbole的所有文章 # -*- coding: utf-8 -*- import re import scrapy import datetime from sc ...

  2. Python3.6+Scrapy爬取知名技术文章网站

    爬取分析 伯乐在线已经提供了所有文章的接口,还有下一页的接口,所有我们可以直接爬取一页,再翻页爬. 环境搭建 Windows下安装Python: http://www.cnblogs.com/0bug ...

  3. 第5章 scrapy爬取知名问答网站

    第五章感觉是第四章的练习项目,无非就是多了一个模拟登录. 不分小节记录了,直接上知识点,可能比较乱. 1.常见的httpcode: 2.怎么找post参数? 先找到登录的页面,打开firebug,输入 ...

  4. 用scrapy爬取亚马逊网站项目

    这次爬取亚马逊网站,用到了scrapy,代理池,和中间件: spiders里面: # -*- coding: utf-8 -*- import scrapy from scrapy.http.requ ...

  5. 爬虫框架之Scrapy——爬取某招聘信息网站

    案例1:爬取内容存储为一个文件 1.建立项目 C:\pythonStudy\ScrapyProject>scrapy startproject tenCent New Scrapy projec ...

  6. 使用scrapy爬取jian shu文章

    settings.py中一些东西的含义可以看一下这里 python的scrapy框架的使用 和xpath的使用 && scrapy中request和response的函数参数 & ...

  7. Scrapy爬取伯乐在线文章

    首先搭建虚拟环境,创建工程 scrapy startproject ArticleSpider cd ArticleSpider scrapy genspider jobbole blog.jobbo ...

  8. scrapy爬取伯乐在线文章数据

    创建项目 切换到ArticleSpider目录下创建爬虫文件 设置settings.py爬虫协议为False 编写启动爬虫文件main.py

  9. 一文搞定scrapy爬取众多知名技术博客文章保存到本地数据库,包含:cnblog、csdn、51cto、itpub、jobbole、oschina等

    本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高 ...

随机推荐

  1. vim编辑后权限不够保存问题解决方案

    常常忘记了sudo就直接用vim编辑/etc内的文件,等编辑好了,保存时候才发现没权限. 1.曲线救国:先保存个临时文件,退出后再sudo cp回去 2.可以直接用 :w !sudo tee % 查阅 ...

  2. 瞄一眼,带你走进SparkSQL的世界

    本文由  网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...

  3. H-a

    1.habit 习惯:毒瘾 in the habit of 有....习惯 派生:habitual a.通常的,习惯的:已养成习惯的: 2.hacker 黑客 3.hail n. 雹 vi.下雹 vt ...

  4. “全栈2019”Java多线程第十六章:同步synchronized关键字详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  5. 利用C# CefSharp Python采集某网站简历并自动发送邀请短信

    以往爬虫没怎么研究过,最近有个需求,要从某网站采集敏感信息,稍稍考虑了一下,决定利用C# Winform和Python一起来解决这个事件. 整个解决方案不复杂:C#编写WinForm窗体,进行数据分析 ...

  6. long int double float

    参考:https://blog.csdn.net/ideality_hunter/article/details/78432486 long是长整型,64位 int是短整型,32位 double是双精 ...

  7. nginx的几种负载均衡策略

    转自https://www.cnblogs.com/1214804270hacker/p/9325150.html 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即 ...

  8. 函数直接写在html页面的<script>里可以调用,但是单独放在js文件里不能调用

    1.函数直接写在页面相当于是你本页调用,所以理所应当可以调用 2.js单独文件不能调用是因为你没有引用js文件,如果引用了的话,也是可以调用的. 引用方式,你可以直接拖拽(我一般都是拖拽,因为路径准确 ...

  9. Jupyter Notebook & Spyder 常用快捷键

    Jupyter Notebook: 1. "shift + enter" notebook单元格内执行代码,并且自动跳至下一个的单元格 2. "tab" 自动补 ...

  10. 怎么搭建一个5T的私有云盘

    视频 点击打开视频 下载地址 免费域名网址: https://www.freewebhostingarea.com/ ftp工具: http://t.cn/EXWxYUI oneindex: http ...