微信小程序社区爬取

# CrawlSpider 需要使用:规则提取器 和 解析器
# 1. allow设置规则的方法:要能够限制在目标url上面, 不要跟其他的url产生相同的正则即可
# 2. 什么情况下使用follow: 如果在爬取页面的时候,需要将满足条件的url再进行跟进,那么就设置为True, 否则是False
# 3. 什么情况下使用callack: 如果这个url对应的页面只是为了获取更多的url,并不需要里面的数据,那么可以不指定callback. 如果想要获取url对应页面里的数据,那么就需要指定callback

# spider文件
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from wxapp.items import WxappItem

class WxappspiderSpider(CrawlSpider):
    name = ‘wxappSpider‘
    allowed_domains = [‘wxapp-union.com‘]
    start_urls = [‘http://www.wxapp-union.com/portal.php?mod=list&catid=2&page=1‘]

    rules = (
        Rule(LinkExtractor(allow=r‘http://www.wxapp-union.com/portal.php?mod=list&catid=2&page=\d‘),
              follow=True),
        Rule(LinkExtractor(allow=r‘.+article-.+\.html‘),
             callback=‘parse_detail‘, follow=False),
    )

    def parse_detail(self, response):
        # 解析详情页
        # print(response) # <200 http://www.wxapp-union.com/article-5137-1.html> 详情页
        title = response.xpath(‘//h1[@class="ph"]/text()‘).extract_first()
        author = response.xpath(‘//p[@class="authors"]/a/text()‘).extract_first()
        content = response.xpath(‘//td[@id="article_content"]//text()‘).extract()
        content = "".join(content).strip()
        print(content)
        print("=="*20)
        item = WxappItem(title=title,author=author,content=content)
        yield item

# 管道文件   保存在json文件里
from scrapy.exporters import JsonItemExporter
from scrapy.exporters import JsonLinesItemExporter # 要存的数据量大的时候用这个

class WxappPipeline(object):
    def __init__(self):
        self.fp = open("weixinjiaocheng.json","wb")
        self.exporter = JsonLinesItemExporter(self.fp,ensure_ascii=False,encoding=‘utf-8‘)

    def process_item(self, item, spider):
        self.exporter.export_item(item)
        return item

    def close_spider(self,spider):
        self.fp.close()

原文地址:https://www.cnblogs.com/kenD/p/11123702.html

时间: 2024-10-12 21:23:55

微信小程序社区爬取的相关文章

微信小程序社区上线

微信小程序公测了! 从首次得到微信小程序发布的消息开始,小木和Michael就进入了紧急备战状态. 除了要快速学通微信小程序开发之外,我们还做了这些工作: 1.录制全球首套微信小程序实战项目类视频教程,上来直接实战做项目,让大家快速理解小程序该怎么玩儿. http://edu.csdn.net/combo/detail/248 2.紧急开发微信小程序社区俱乐部,也就是本文介绍的微信小程序俱乐部. 这个社区我们前端网站使用的JFinal框架配合Michael封装的BaseSevice框架,我们从U

咫尺论坛|即速应用-微信小程序社区

咫尺论坛|即速应用-微信小程序社区 是一个集微信和支付宝小程序行业资讯.开发资源.技术交流于一身的大型小程序开发论坛,成立伊始便迅速聚集了一大批小程序开发爱好者,短时间内成为了国内领先的小程序开发者社区. 目前访问bbs.zhichiwangluo.com即可进入小程序开发论坛.咫尺论坛主要分为四大区,分别为即速应用小程序教程.小程序开发教程.小程序媒体资讯和交流讨论区.每个专区都有着极其丰富的内容,充分满足小程序开发者们的各种需求. 一.即速应用小程序教程区 该专区不仅集合了小程序开发文档,还

爬虫小程序(爬取英雄联盟的英雄皮肤)

一.爬虫流程: 1.明确目标:url = https://daoju.qq.com/lol/list/17-0-0-0-0-0-0-0-0-0-0-00-0-0-1-1.shtml?ADTAG=innercop.lol.SY.shoppinglist_new_17 2.判断数据类型:动态/静态(这里是动态类型,是通过JS渲染的) 备注:如何来判断数据类型?是通过源码来判断的,如果网页源码中可以找到我们需要爬取的数据,那么就代表是静态,可以通过访问网页后结合正则就可以获取数据, 如果网页源码找不到

注册微信小程序

注册微信小程序 小程序是一种新的开放能力,可以在微信内被便捷地获取和传播,同时具有出色的使用体验.开发者可以根据平台提供的能力,快速地开发一个小程序. 开放内容包括: 开放注册范围:企业.政府.媒体.其他组织: 开发支持:提供一系列工具帮助开发者快速接入并完成小程序开发: 开发文档:介绍小程序的开发框架.基础组件.API及相关开发问题: 开发者工具:集成开发调试.代码编辑.小程序预览及发布等功能: 设计指南:提出设计原则及规范,帮助建立友好.高效.一致的用户体验: 运营规范:介绍微信公众平台小程

微信小程序demo2

接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现       还是老规矩,先放个图吧,虽然才一点点了 上线的banner大图和京东头条都是可以滚动的,抄写微信小程序社区官方qq群:390289365里 Nigel''写的. 下面说一下项目 这次我把项目的资源文件全部放到resources文件夹里了,图片放到images里,这样后期可能有视频.语音文件,

【helloworld】-微信小程序开发教程-入门篇【4】

1. 开篇导言 本节目标:通过上一节的讲解,相信大家对小程序框架MINA的目录结构和配置有了一定的了解.接下来将会讲解视图层,逻辑层及其之间的交互. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:了解MINA框架的视图层(View),逻辑层(App Service),及其之间的交互. 案例分析:helloworld小程序. 代码下载 传送门: 目录:微信小程序教程-开篇导言-很快微信小程序社区上一篇:[helloworld]-微信小程序教程-入门篇[3]    下一篇:未开启.

【helloworld】-微信小程序开发教程-入门篇【1】

1. 开篇导言 本节目标:旨在演示如何用开发者工具构建并运行简单的 helloworld 应用. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:开发者工具的基本使用流程,即创建.导入.删除.关闭项目. 案例分析:创建helloworld应用,相似于微信官网简易教程中的quickstart demo. 代码下载 传送门: 目录:微信小程序教程-开篇导言-很快微信小程序社区下一篇:[helloworld]-微信小程序教程-入门篇[2]-很快微信小程序社区 备注:有编程经验或看过微信官

helloworld】-微信小程序开发教程-入门篇【2】

1. 开篇导言 本节目标:通过上一节的讲解,相信大家对微信小程序有了初步的了解.接下来将会对小程序的框架进行简单介绍. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:了解MINA框架的基本特征,并对数据绑定和页面(Page)有概念上的认识. 案例分析:对于helloworld小程序的进行讲解. 代码下载 传送门: 目录:微信小程序教程-开篇导言-很快微信小程序社区上一篇:[helloworld]-微信小程序教程-入门篇[1]-很快微信小程序社区下一篇:[helloworld]-微

【helloworld】-微信小程序开发教程-入门篇【3】

1. 开篇导言 本节目标:通过上一节的讲解,相信大家对小程序框架MINA有了初步了解.接下来将会对其进行深入介绍. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:了解MINA框架的目录结构和配置. 案例分析:helloworld小程序. 代码下载 传送门: 目录:微信小程序教程-开篇导言-很快微信小程序社区上一篇:[helloworld]-微信小程序教程-入门篇[2]-很快微信小程序社区    下一篇:[helloworld]-微信小程序教程-入门篇[4]-很快微信小程序社区.