微信小程序社区爬取

Posted kend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序社区爬取相关的知识,希望对你有一定的参考价值。

# 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=rhttp://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()

 

以上是关于微信小程序社区爬取的主要内容,如果未能解决你的问题,请参考以下文章

如何抓取微信小程序的数据

微信小程序社区爬取

PC端微信小程序使用Fiddler进行爬取抓包

Python在微信如何打开

支付模块-第三方APP如何拉取微信小程序支付(编码篇)

支付模块-第三方APP如何拉取微信小程序支付(思路篇)