scrapy爬虫-1-初试页面抓取

本文目标从初建scrapy工程到抓取一个论坛页面,涉及问题:

1、F12页面调试

2、xpath

3、输出抓取数据

创建工程

scrapy [object Object]startproject [object Object]tutorial

代码简单仅需修改items.py,spiders/xianzhenyuan_spider.py  2个文件,先列出代码,后再写调试步骤。

items.py

# -*- coding: utf-8 -*-
import scrapy
from scrapy.item import Item, Field
class XianzhenyuanItem(scrapy.Item):
    catalog = Field()  #交易分类
    title = Field()     #标题
    author = Field()    #作者
    count = Field()     #恢复次数

spiders/xianzhenyuan_spider.py

 import scrapy
from scrapy import Spider
class XianzhenyuanSpider(Spider):
    name = "xianzhenyuan"
    allowed_domains = ["xianzhenyuan.cn"]
    start_urls = [
        "http://www.xianzhenyuan.cn/forum-24-1.html"
    ]
    def parse(self, response):
        # filename = response.url.split("-")[-2]
        # with open(filename, ‘wb‘) as f:
        #     f.write(response.body)
        for sel in response.xpath(‘//tbody/tr‘):
        title = sel.xpath(‘th/a[1]/text()‘).extract()
        catalog = sel.xpath(‘th/em/a/text()‘).extract()
        author = sel.xpath(‘td[2]/cite/a/text()‘).extract()
        count = sel.xpath(‘td[3]/a/text()‘).extract()
        print(author, count, catalog, title)

实现结果 :scrapy crawl xianzhenyuan

[‘书记‘] [] [] []
[‘爱家‘] [‘328‘] [] [‘隐藏置顶帖‘]
[‘爱家‘] [‘12‘] [‘其它类‘] [‘隐藏置顶帖‘]
[‘爱家‘] [‘18‘] [] [‘隐藏置顶帖‘]
[‘从水生‘] [‘23‘] [‘其它类‘] [‘隐藏置顶帖‘]
[‘花盗‘] [‘4‘] [‘其它类‘] [‘隐藏置顶帖‘]
[] [] [] []
[‘zhuminglong‘] [‘2‘] [‘种子类‘] [‘(温州)出售怪龙种夹,怪龙杂种夹,买的多送锦种夹种子包邮包邮快来抢‘]
[‘cry1887‘] [‘0‘] [‘12卷‘] [‘【北京】包邮出实生扇苗、实生亚成扇、实生白银、实生克‘]
[‘jianzhi1231‘] [‘19‘] [‘种子类‘] [‘【北京】48A、rainbow、荒玉、187、烧麦、绿富贵、毛翠滴、鸽子蛋、小飞、高尔夫‘]
[‘duorou12‘] [‘13‘] [‘12卷‘] [‘(浙江杭州)6-4,出几个自养12卷,喜欢就带走吧‘]
[‘常州奇奇‘] [‘3‘] [‘12卷‘] [‘(常州)自己繁殖的一批大叶花水晶苗子‘]
[‘xly2125101‘] [‘3‘] [‘番杏科‘] [‘【北京】出几个大个189,有个拿铁化的,还有小苗‘]
[‘louxuan198611‘] [‘1‘] [‘其它类‘] [‘临沂 满百包邮超级芦荟种子,超级芦荟母本,王妃雷神锦,日月潭亚成,仙女杯及一点...‘]
[‘duorou12‘] [‘5‘] [‘12卷‘] [‘(浙江杭州)6-3,出几个自养12卷,喜欢就带走吧‘]
[‘st1986725‘] [‘7‘] [‘12卷‘] [‘(上海)出售玉露锦种子,菊水种子,大型霓虹灯,糯玉露等等等‘]

开始说下步骤:

google浏览器  打开页面“http://www.xianzhenyuan.cn/forum-24-1.html”

F12开启调试模式->Elements 用左边箭头 选择想要抓取的数据

我们以title数据为例

下面是xpath的生成方法,选中 邮件copy->copy xpath

下面是找到xpath,貌似不是很通用,有用的地方就是a[1]

//*[@id="normalthread_1443964"]/tr/th/a[1]

这样子 xpath就可以写出来了

我们用一下命令调试 xpath

scrapy shell “http://www.xianzhenyuan.cn/forum-24-1.html”

title的数据能抓出来了,其他几个字段同样方法来抓取

进入xianzhenyuan目录测试一下效果

scrapy crawl xianzhenyuan

时间: 2024-11-05 12:13:27

scrapy爬虫-1-初试页面抓取的相关文章

python3下scrapy爬虫(第二卷:初步抓取网页内容之直接抓取网页)

上一卷中介绍了安装过程,现在我们开始使用这个神奇的框架 跟很多博主一样我也先选择一个非常好爬取的网站作为最初案例,那么我先用屌丝必备网站http://www.shaimn.com/xinggan/作为这一卷的案例,不用想有图,有字 第一步: 创建爬虫文件: 现在切换到scrapy_test的根目录下: 我们现在创建了爬虫文件,这个网页正常情况下就可以直接抓取,不像糗事啊,天猫啊需要到SETTING里去设置对抗ROBOT cookie user-AGENT这样的反爬手段 现在开始创建代码 现在在终

[python]初试页面抓取——抓取沪深股市交易龙虎榜数据

[python]抓取沪深股市交易龙虎榜数据 python 3.5.0下运行 没做自动建立files文件夹,需要手动在py文件目录下建立files文件夹后运行 #coding=utf-8 import gzipimport http.cookiejar import urllib.request import urllib.parse import json import os import time import datetime def getOpener(head): # deal with

Python爬虫实战四之抓取淘宝MM照片

福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 最新动态 更新时间:2015/8/2 最近好多读者反映代码已经不能用了,原因是淘宝索引页的MM链接改了.网站改版了,URL的索引已经和之前的不一样了,之前可以直接跳转到每个MM的个性域名,现在中间加了一个跳转页,本以为可以通过这个页面然后跳转到原来的个性域名,而经过一番折腾发现,这个跳转页中的内容是JS动态生成的,所以不能用Urllib库来直接抓取了,本篇就只提供学习思路,代码不能继续用了. 之后博主会利用其它方

[转载]爬虫的自我解剖(抓取网页HtmlUnit)

网络爬虫第一个要面临的问题,就是如何抓取网页,抓取其实很容易,没你想的那么复杂,一个开源HtmlUnit包,4行代码就OK啦,例子如下: 1 2 3 4 final WebClient webClient=new WebClient(); final HtmlPage page=webClient.getPage("http://www.yanyulin.info"); System.out.println(page.asText()); webClient.closeAllWindo

iOS开发——网络实用技术OC篇&网络爬虫-使用青花瓷抓取网络数据

网络爬虫-使用青花瓷抓取网络数据 由于最近在研究网络爬虫相关技术,刚好看到一篇的的搬了过来! 望谅解..... 写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教程,于是待问题解决后抽时间截了图,自己写一遍封存在博客园中以便以后随时查阅. charles又名青花瓷,在iOS开发中的抓包中具有重要作用.最大的三点用处,一就是拦截别人软件的发送的请求和后端接口,练习开发.二是自己后端返回的response拦截修改后再接收以达到测试临界数据的作用.三写脚本重复拦截

网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(3): 抓取amazon.com价格

通过上一篇随笔的处理,我们已经拿到了书的书名和ISBN码.(网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息及ISBN码) 接下来将通过ISBN码去amazon.com获取每本书对应的价格. 一.了解需要和分析网站 通过分析amazon.com得知,以ISBN码作为搜索关键字可查找到对应的书. 结果页码就有这本书的价格,既然价格是以$符号开头,那就可以通过正则表达式得到价格. 通过正则表达式匹配价格代码:

爬虫原理与数据抓取-----(了解)通用爬虫和聚焦爬虫

通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 通用搜索引擎(Search Engine)工作原理 通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果. 第一步:

网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息及ISBN码

这一篇首先从allitebooks.com里抓取书籍列表的书籍信息和每本书对应的ISBN码. 一.分析需求和网站结构 allitebooks.com这个网站的结构很简单,分页+书籍列表+书籍详情页. 要想得到书籍的详细信息和ISBN码,我们需要遍历所有的页码,进入到书籍列表,然后从书籍列表进入到每本书的详情页里,这样就能够抓取详情信息和ISBN码了. 二.从分页里遍历每一页书籍列表 通过查看分页功能的HTML代码,通过class="current"可以定位当前页码所在span标签,此s

基于Node.js的强大爬虫 能直接发布抓取的文章哦

基于Node.js的强大爬虫 能直接发布抓取的文章哦 基于Node.js的强大爬虫能直接发布抓取的文章哦!本爬虫源码基于WTFPL协议,感兴趣的小伙伴们可以参考一下 一.环境配置 1)搞一台服务器,什么linux都行,我用的是CentOS 6.5: 2)装个mysql数据库,5.5或5.6均可,图省事可以直接用lnmp或lamp来装,回头还能直接在浏览器看日志: 3)先安个node.js环境,我用的是0.12.7,更靠后的版本没试过: 4)执行npm -g install forever,安装f