<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ShadowFox_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ShadowFox_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ShadowFox_]]></copyright><item><title><![CDATA[python数据采集练习 根据指定av号下载bilibili视频（五）【获取视频信息】]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82907407</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82907407</guid><author>ShadowFox_</author><pubDate>Sun, 30 Sep 2018 11:56:43 +0800</pubDate><description><![CDATA[
def getDetails(arcUrl):  # 获取视频长度，标题，子视频数，打印视频质量选项，让用户输入，获得quailty(顺便修改refer)
    global quality
    global headers
    global fps
    global quality
    global title
    global pages
    global titl...]]></description><category></category></item><item><title><![CDATA[python数据采集练习 根据指定av号下载bilibili视频（四）【json库解析cookie】]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82892441</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82892441</guid><author>ShadowFox_</author><pubDate>Sat, 29 Sep 2018 09:44:02 +0800</pubDate><description><![CDATA[JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。JSON的数据格式其实就是python里面的字典格式。python中内嵌有json库以实现它。

 

直白地讲，如果你拿到这么一串字符串，比如


&quot;{'name': 'kun', 'age': 19, 'time': False}&quot;

注意，它只是一个字符串，只不过内容看起来像字典
...]]></description><category></category></item><item><title><![CDATA[python数据采集练习 根据指定av号下载bilibili视频（三）【用selenium操纵浏览器行为】]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82889881</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82889881</guid><author>ShadowFox_</author><pubDate>Fri, 28 Sep 2018 21:30:30 +0800</pubDate><description><![CDATA[selenium库可以控制浏览器行为。我们用selenium库可以抓取我们所需的网页全部信息。

它需要配合浏览器驱动使用，浏览器驱动可以在selenium官网下载：https://www.seleniumhq.org

注意：要选择与你浏览器相兼容的驱动配合使用

 

关于selenium详细教程这里不累述，本程序使用的是Chrome浏览器，并且会用到如下几个函数：


from seleni...]]></description><category></category></item><item><title><![CDATA[python数据采集练习 根据指定av号下载bilibili视频（二）【正则表达式】]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82873944</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82873944</guid><author>ShadowFox_</author><pubDate>Thu, 27 Sep 2018 22:20:44 +0800</pubDate><description><![CDATA[如果我们要在一大段文字中找到符合某格式的字符串，最方便的方法莫过于用正则表达式了

正则表达式：https://baike.baidu.com/item/正则表达式/1700215?fr=aladdin

 

我们需要获取一个网页内的信息，如视频下载链接，视频标题，视频大小等等等，而这些信息往往会以这种形式出现：


&amp;lt;script&amp;gt;window.__playinfo__={...}...]]></description><category></category></item><item><title><![CDATA[python数据采集练习 根据指定av号下载bilibili视频（一）【事前准备】]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82871314</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82871314</guid><author>ShadowFox_</author><pubDate>Thu, 27 Sep 2018 18:53:28 +0800</pubDate><description><![CDATA[本程序采用python3.6版本

包含外部库有：

requests

moviepy

selenium

natsort

pyinstaller

以上的库皆可以用命令pip install [库名] 安装，关于pip的安装请参考百度

 

本人所用的IDEL为PyCharm，当然如果你用python默认解释器是没有任何问题的，但是用PyCharm会更方便点。

 

PyCharm初学...]]></description><category></category></item><item><title><![CDATA[PyCharm导入本地模块]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82871575</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82871575</guid><author>ShadowFox_</author><pubDate>Thu, 27 Sep 2018 18:51:48 +0800</pubDate><description><![CDATA[1.首先进入PyCharm的设置面板



2.进入后点击Porject interpreter，点击右上角的add



3.点击Existing environment这个选项，然后选择interpreter



4.在弹出来的窗口中选择你的python安装目录

关于查找目录位置，在windows中可以打开cmd然后输入where python

macos中可以打开终端输入which p...]]></description><category></category></item><item><title><![CDATA[python数据采集练习 根据指定av号下载bilibili视频]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/82871199</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/82871199</guid><author>ShadowFox_</author><pubDate>Thu, 27 Sep 2018 18:17:35 +0800</pubDate><description><![CDATA[本人做了个python小程序，它可以：

----登陆bilibili并保存登录信息（登录时需手动识别验证码）

----根据av号打印出链接下所有视频（1P,2P,........)

----选择下载视频的清晰度（下载60fps需大会员）

 

本教程仅作为练习与内部学习使用，略显简陋与臃肿，讲解也比较繁琐，请各位谅解

教程列表：

  (一）https://blog.youkuaiyun.com/S...]]></description><category></category></item><item><title><![CDATA[PAT-A 1139 First Contact（30 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950229</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950229</guid><author>ShadowFox_</author><pubDate>Wed, 22 Aug 2018 20:09:37 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;cstring&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;map&amp;gt;
#include &amp;lt;set&amp;gt;]]></description><category></category></item><item><title><![CDATA[PAT-A 1138 Postorder Traversal（25 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950211</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950211</guid><author>ShadowFox_</author><pubDate>Wed, 22 Aug 2018 20:08:29 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
using namespace std;
#define MAXN 50001

int pre[MAXN];
int in[MAXN];
int flag=0;

struct node{
    int value;
    node *left;
    node *right;
};

v...]]></description><category></category></item><item><title><![CDATA[PAT-A 1137 Final Grading（25 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950201</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950201</guid><author>ShadowFox_</author><pubDate>Wed, 22 Aug 2018 20:07:44 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;map&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;cmath&amp;gt;
using namespace std;

struct m]]></description><category></category></item><item><title><![CDATA[PAT-A 1136 A Delayed Palindrome（20 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950189</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81950189</guid><author>ShadowFox_</author><pubDate>Wed, 22 Aug 2018 20:06:56 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;

using namespace std;

bool judge(string n){
    int len=n.size();
    for(int i=0;i&amp;lt;len/2;i++){
        if(n[i]!=n[len-i-1]){
            return ...]]></description><category></category></item><item><title><![CDATA[PAT-A 1143 Lowest Common Ancestor（30 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914509</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914509</guid><author>ShadowFox_</author><pubDate>Tue, 21 Aug 2018 21:01:37 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;algorithm&amp;gt;

using namespace std;

#define MAXN 10005
int pre[MAXN];
int in[MAXN];

struct G{
    int value;
    G *left=NULL,*right=N...]]></description><category></category></item><item><title><![CDATA[PAT-A 1142 Maximal Clique（25 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914484</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914484</guid><author>ShadowFox_</author><pubDate>Tue, 21 Aug 2018 21:00:04 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;set&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;cstring&amp;gt;

using namespace std;
#define MAXN 201
int a[MAXN][MAXN];

bool isClique(int K,int t[]){
    for(int i=...]]></description><category></category></item><item><title><![CDATA[PAT-A 1141 PAT Ranking of Institutions（25 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914465</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914465</guid><author>ShadowFox_</author><pubDate>Tue, 21 Aug 2018 20:58:32 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;map&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;cstring&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;algorithm&amp;gt;

using namespace std;

#defi]]></description><category></category></item><item><title><![CDATA[PAT-A 1140 Look-and-say Sequence（20 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914445</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81914445</guid><author>ShadowFox_</author><pubDate>Tue, 21 Aug 2018 20:57:31 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
using namespace std;

int main()
{
    int D,n;
    cin&amp;gt;&amp;gt;D&amp;gt;&amp;gt;n;
    vector&amp;lt;int&amp;gt; a,b;
    a.push_back(D);
    for(int i=1;i&amp;lt;n;i++)...]]></description><category></category></item><item><title><![CDATA[PAT-A 1144 The Missing Number（20 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877551</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877551</guid><author>ShadowFox_</author><pubDate>Mon, 20 Aug 2018 20:45:39 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;set&amp;gt;

using namespace std;

int main()
{
    set&amp;lt;int&amp;gt; a;
    int N;
    scanf(&quot;%d&quot;,&amp;amp;N);
    int t,p=1;;
    for(int i=1;i&amp;l...]]></description><category></category></item><item><title><![CDATA[PAT-A 1145 Hashing - Average Search Time（25 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877533</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877533</guid><author>ShadowFox_</author><pubDate>Mon, 20 Aug 2018 20:44:17 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include &amp;lt;cstring&amp;gt;
using namespace std;
#define MAXN 100001

bool prime(int x){
    /*if(x==2||x==3){
        return tru...]]></description><category></category></item><item><title><![CDATA[PAT-A 1146 Topological Order（25 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877519</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877519</guid><author>ShadowFox_</author><pubDate>Mon, 20 Aug 2018 20:43:08 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;cstring&amp;gt;
#include &amp;lt;vector&amp;gt;
using namespace std;

#define MAXN 1001

struct Edge{
    int tail;
    Edge *next=NULL;
};

struct ...]]></description><category></category></item><item><title><![CDATA[PAT-A 1147 Heaps（30 分）]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877504</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81877504</guid><author>ShadowFox_</author><pubDate>Mon, 20 Aug 2018 20:41:58 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
using namespace std;
#define MAXN 1026

int isempty=0;


void postorder(int n,int heap[],int head){
    if(head&amp;lt;n){
        postorder(n,heap,head*...]]></description><category></category></item><item><title><![CDATA[PAT-A 1013 Battle Over Cities (25)]]></title><link>https://blog.youkuaiyun.com/ShadowFox_/article/details/81458560</link><guid>https://blog.youkuaiyun.com/ShadowFox_/article/details/81458560</guid><author>ShadowFox_</author><pubDate>Mon, 06 Aug 2018 17:57:25 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
using namespace std;

#define MAXN 1001

//连通分量
//n个连通分量需要n-1条路

int city[MAXN];

struct edge{
    int head;
    int tail;
    //从1开始
};

int gethead...]]></description><category></category></item></channel></rss>