<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lightjia的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/lightjia</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; lightjia]]></copyright><item><title><![CDATA[python爬取歌曲宝周排行音乐]]></title><link>https://blog.csdn.net/lightjia/article/details/147167142</link><guid>https://blog.csdn.net/lightjia/article/details/147167142</guid><author>lightjia</author><pubDate>Sat, 12 Apr 2025 16:55:40 +0800</pubDate><description><![CDATA[​最近B站看了很多爬虫相关的视频，也想找个网站学习下批量爬取，于是搜了下免费歌曲，发现可以免费下载歌曲，于是尝试在上面进行批量爬取，下面记录批量爬取的实现过程。# 获取歌曲列表## web分析相关请求分析周下载榜的url，可以看到携带一个参数page，可以查看多页，歌曲的相对url路径是存储在html中，使用正则表达式进行相关的解析获取## 对相关请求进行编码。]]></description><category></category></item><item><title><![CDATA[win11安装appium]]></title><link>https://blog.csdn.net/lightjia/article/details/131956483</link><guid>https://blog.csdn.net/lightjia/article/details/131956483</guid><author>lightjia</author><pubDate>Thu, 27 Jul 2023 20:15:51 +0800</pubDate><description><![CDATA[下载后命名为bundletool.jar并将路径添加到PATH环境变量中 以及JAR添加到PATHEXT环境变量中。并将gstream的bin目录添加到PATH环境变量中。apkanalyzer.bat可以使用IDE。安装后对node安装包路径进行配置。bundletool.jar安装。下载安装，需要先按照java。Studio来进行安装。]]></description><category></category></item><item><title><![CDATA[vscode中远程环境Go插件不生效的问题]]></title><link>https://blog.csdn.net/lightjia/article/details/128143581</link><guid>https://blog.csdn.net/lightjia/article/details/128143581</guid><author>lightjia</author><pubDate>Fri, 02 Dec 2022 10:19:02 +0800</pubDate><description><![CDATA[最近使用vscode远程到机器上出现GO插件无法使用的问题，查看定义跳转不生效。GO插件不生效需要在vscode中设置远程机器上的GOROOT以及GOPATH。如下是vscode中的json配置。关于GO插件下载的问题。远程机器上go env。]]></description><category></category></item><item><title><![CDATA[C#中特性使用]]></title><link>https://blog.csdn.net/lightjia/article/details/125703539</link><guid>https://blog.csdn.net/lightjia/article/details/125703539</guid><author>lightjia</author><pubDate>Sun, 10 Jul 2022 11:53:04 +0800</pubDate><description><![CDATA[在游戏开发过程中，经常需要给一个玩家实现一些功能，比如一些登录，好友等，那么怎样可以方便的将这些功能组件挂接到玩家实体上呢？  直接编写在实体中添加功能组件


这种写法是直接在代码中添加，比较直观，但是添加新的功能组件会对原代码改动比较大使用特性给实体挂载对应的组件


通过特性给实体挂载相应的组件，然后在实体构造时，通过反射检测挂载的组件，并将组件进行实例化，后续给玩家实体挂载组件可以直接修改挂载特性就可以，非常方便的进行扩展。...]]></description><category></category></item><item><title><![CDATA[Cefsharp抓取拼多多每日关键词]]></title><link>https://blog.csdn.net/lightjia/article/details/125689863</link><guid>https://blog.csdn.net/lightjia/article/details/125689863</guid><author>lightjia</author><pubDate>Sat, 09 Jul 2022 13:54:17 +0800</pubDate><description><![CDATA[最近业余时间都在学习Cefsharp实现本地客户端，发现Cefsharp可以很方便的爬取一些网站的信息，于是就一些爬取过程做一下记录。拼多多商品搜索的链接是:拼多多，我们在CefSharp发起请求时加上log打印相关的请求信息,经过分析log，发现这条有关键字的信息是在一次MimeType为json的HTTP资源请求。代码段和日志如下




使用我上传的资源下载器也可以加载到对应的json文件.使用CefSharp结合vue3实现简单URL资源下载器-C#文档类资源-CSDN下载         获取关键]]></description><category></category></item><item><title><![CDATA[CefSharp结合VUE3搭建网页资源下载器]]></title><link>https://blog.csdn.net/lightjia/article/details/125622542</link><guid>https://blog.csdn.net/lightjia/article/details/125622542</guid><author>lightjia</author><pubDate>Tue, 05 Jul 2022 17:32:48 +0800</pubDate><description><![CDATA[一个朋友在开网店，经常需要去网站上下载一些商品图片，使用人工手动点击下载非常的繁琐，于是咨询能不能有个程序输入网站链接就能下载相应的资源文件，刚好自己最近研究Cef，只要能浏览到的内容其实都可以下载到本地的，于是就实现了这个下载器。        Cef在向一个url请求资源时，会有一些列的Hook函数回调到应用程序，我们只需要在这些回调中根据自己的需求去保存请求的资源即可。        一次url请求可能会有多个资源请求，会创建多个自定义的资源处理类（继承自ResourceRequestHandler）]]></description><category></category></item><item><title><![CDATA[C#使用web搭建界面-Vue3本地导航]]></title><link>https://blog.csdn.net/lightjia/article/details/125161449</link><guid>https://blog.csdn.net/lightjia/article/details/125161449</guid><author>lightjia</author><pubDate>Tue, 07 Jun 2022 13:05:19 +0800</pubDate><description><![CDATA[自己在使用C#搭建的界面是单页应用，所以需要使用vue中的vue-route做局部刷新，于是尝试element-plus结合route-view完成导航栏的搭建。在使用vue-route过程中自己一直没弄明白route-view是怎么将局部页面映射到对应的视图中，只是在menu中加router-view以及routes路由中有children时也需要加一层view就会正确的展示，后续弄懂原理再回来做补充。        主要是添加自定义的菜单ICON，去掉App.vue中的首页导航


修改App.vue
]]></description><category></category></item><item><title><![CDATA[CefSharp结合VUE3进行界面开发]]></title><link>https://blog.csdn.net/lightjia/article/details/125000625</link><guid>https://blog.csdn.net/lightjia/article/details/125000625</guid><author>lightjia</author><pubDate>Fri, 27 May 2022 14:22:34 +0800</pubDate><description><![CDATA[使用CefSharp进行UI开发]]></description><category></category></item><item><title><![CDATA[直击面试之KMP字符串查找]]></title><link>https://blog.csdn.net/lightjia/article/details/104071530</link><guid>https://blog.csdn.net/lightjia/article/details/104071530</guid><author>lightjia</author><pubDate>Thu, 23 Jan 2020 09:56:58 +0800</pubDate><description><![CDATA[面试时碰到一个算法题，判断一个字符串是不是一段字符的子串，当时不加思索的就写出两段for循环，伪代码如下


#src为源串   pat为子串
i=0
while(i&lt;len(src) &amp;&amp; len(src) &gt;== i + len(pat)){
    j=0
    while(j&lt;len(pat) &amp;&amp; i+j&lt;len(src) &am...]]></description><category></category></item><item><title><![CDATA[GO实现文件压缩算法]]></title><link>https://blog.csdn.net/lightjia/article/details/104002645</link><guid>https://blog.csdn.net/lightjia/article/details/104002645</guid><author>lightjia</author><pubDate>Thu, 16 Jan 2020 12:28:58 +0800</pubDate><description><![CDATA[实现原理

 读取文件，统计字符出现次数为权值，构建哈夫曼树，获取每个字符的哈夫曼编码，写入文件。



压缩文件头定义


type compressHead struct {
	srclen, dstlen, keymapLen uint32	//源文件字符个数  压缩文件字符个数   哈夫曼编码字符映射个数
	patchBit                  uint8     //...]]></description><category></category></item><item><title><![CDATA[哈夫曼树构建]]></title><link>https://blog.csdn.net/lightjia/article/details/103975343</link><guid>https://blog.csdn.net/lightjia/article/details/103975343</guid><author>lightjia</author><pubDate>Tue, 14 Jan 2020 21:20:26 +0800</pubDate><description><![CDATA[哈夫曼树是带权值的树节点结构，且目标节点都存储在叶子节点上。下面使用Go实现哈夫曼树

哈弗曼树构建过程

将带权值的节点进行排序，形成有序的链表。
	取出链表头两个节点，权值相加形成新节点，并加入上述链表中重新排序，两节点分别为构建为左右子树，新创建的节点为父节点。
	重复步骤2直到链表节点为1退出构造
哈夫曼节点定义


type huffmannode struct {
	value  in...]]></description><category></category></item><item><title><![CDATA[直击面试之链表]]></title><link>https://blog.csdn.net/lightjia/article/details/103974668</link><guid>https://blog.csdn.net/lightjia/article/details/103974668</guid><author>lightjia</author><pubDate>Tue, 14 Jan 2020 15:56:59 +0800</pubDate><description><![CDATA[面试过程中经常会遇到链表相关面试，链表相较于数组区别是节点存储空间不连续，可持续扩展。下面是使用Go进行链表实现。

链表结构定义


//define the data struct
type LinkList struct {
	pPrev *LinkList	//Previous node pointer
	pNext *LinkList	//Next node pointer
	Value...]]></description><category></category></item><item><title><![CDATA[直击面试之二叉树]]></title><link>https://blog.csdn.net/lightjia/article/details/103952688</link><guid>https://blog.csdn.net/lightjia/article/details/103952688</guid><author>lightjia</author><pubDate>Mon, 13 Jan 2020 14:16:49 +0800</pubDate><description><![CDATA[面试过程中经常会问到二叉树相关的问题，下面使用Go整理下二叉树相关问题的代码实现

树的定义


//define the data struct
type BinaryTree struct {
	pLeft  *BinaryTree	//The Left Branch
	pRight *BinaryTree	//The Right Branch
	value interface{}	//Sto...]]></description><category></category></item><item><title><![CDATA[隐藏桌面图标通过命令行启动]]></title><link>https://blog.csdn.net/lightjia/article/details/88343235</link><guid>https://blog.csdn.net/lightjia/article/details/88343235</guid><author>lightjia</author><pubDate>Fri, 08 Mar 2019 11:00:55 +0800</pubDate><description><![CDATA[1.创建快捷键存放的目录，我创建的目录是D:/cmdtool,并将需要启动的程序快捷键发送到该目录下



2.将上面创建的目录添加到系统环境变量的PATH中



3.启动cmd，输入qq回击


...]]></description><category></category></item><item><title><![CDATA[libuv封装rwlock]]></title><link>https://blog.csdn.net/lightjia/article/details/85103447</link><guid>https://blog.csdn.net/lightjia/article/details/85103447</guid><author>lightjia</author><pubDate>Wed, 19 Dec 2018 17:54:07 +0800</pubDate><description><![CDATA[
#ifndef __CUVRWLOCK__H_
#define __CUVRWLOCK__H_
#include &quot;uv.h&quot;
class CUvRwLock
{
public:
    CUvRwLock();
    ~CUvRwLock();

public:
    void RdLock();
    void RdUnLock();
    int RdTryLock();

   ...]]></description><category></category></item><item><title><![CDATA[libuv封装barrier]]></title><link>https://blog.csdn.net/lightjia/article/details/85102149</link><guid>https://blog.csdn.net/lightjia/article/details/85102149</guid><author>lightjia</author><pubDate>Wed, 19 Dec 2018 17:21:50 +0800</pubDate><description><![CDATA[
#ifndef __CUVBARRIER__H_
#define __CUVBARRIER__H_
#include &quot;uv.h&quot;
class CUvBarrier{
public:
    CUvBarrier();
    ~CUvBarrier();

public:
    int Init(int iCount);
    int Wait();

private:
    uv_ba...]]></description><category></category></item><item><title><![CDATA[libuv封装cond]]></title><link>https://blog.csdn.net/lightjia/article/details/85102090</link><guid>https://blog.csdn.net/lightjia/article/details/85102090</guid><author>lightjia</author><pubDate>Wed, 19 Dec 2018 17:19:57 +0800</pubDate><description><![CDATA[
#ifndef __CUVCOND__H_
#define __CUVCOND__H_
#include &quot;UvMutex.h&quot;
class CUvCond
{
public:
    CUvCond();
    ~CUvCond();

public:
    void Signal();
    void BroadCast();
    void Wait();
    int Time...]]></description><category></category></item><item><title><![CDATA[win下生成core文件]]></title><link>https://blog.csdn.net/lightjia/article/details/84978295</link><guid>https://blog.csdn.net/lightjia/article/details/84978295</guid><author>lightjia</author><pubDate>Wed, 12 Dec 2018 19:45:35 +0800</pubDate><description><![CDATA[
#ifndef __CCOREMGR__H_
#define __CCOREMGR__H_
#include &quot;singleton.h&quot;
#include &quot;CLogmanager.h&quot;

#if defined(WIN32) || defined(_WIN32)
#include&amp;lt;Windows.h&amp;gt;  
#include&amp;lt;DbgHelp.h&amp;gt;  
#pragma co...]]></description><category></category></item><item><title><![CDATA[事件监听器]]></title><link>https://blog.csdn.net/lightjia/article/details/84749959</link><guid>https://blog.csdn.net/lightjia/article/details/84749959</guid><author>lightjia</author><pubDate>Mon, 03 Dec 2018 10:21:42 +0800</pubDate><description><![CDATA[
#ifndef __CEVENTMGR__H_
#define __CEVENTMGR__H_
#include &quot;singleton.h&quot;
#include &quot;CMutex.h&quot;
#include &quot;CLogmanager.h&quot;
#include &amp;lt;string&amp;gt;
#include &amp;lt;map&amp;gt;
#include &amp;lt;set&amp;gt;

class CEventList..]]></description><category></category></item><item><title><![CDATA[c/c++创建动态导出库模版]]></title><link>https://blog.csdn.net/lightjia/article/details/84589757</link><guid>https://blog.csdn.net/lightjia/article/details/84589757</guid><author>lightjia</author><pubDate>Wed, 28 Nov 2018 18:08:39 +0800</pubDate><description><![CDATA[
#ifndef __EXPORT__H_
#define __EXPORT__H_

#if defined WIN32 || defined _WIN32
#if defined DLL_EXPORT
#define EXPORTAPI   __declspec( dllexport )
#else
#define EXPORTAPI
#endif
#endif

extern &quot;C&quot; {
 ...]]></description><category></category></item></channel></rss>