Python_小林的爬取QQ空间相册图片链接程序

前言

昨天看见某人的空间有上传了XXXX个头像,然后我就想着下载回来【所以本质上这是一个头像下载程序】,但是一个个另存为太浪费时间了,上网搜索有没有现成的工具,居然要注册码,还卖45一套。你们的良心也太坏了!。而且居然!!!还有一个和我同名的下载器?这一点实在让我十分的嫉恨。于是我下决心搞清楚这个东西,然而大部分资料都是Python源码,并且很多都是过期的且无法使用的了[反正我是没找到一个能用]。

好在有很多人在网上发过一些教程,虽然Python是第一次接触[差不多一天的时间],但它是实在让我惊讶。这个语言太简单,太简洁了!你很容易就能明白。就这样从这些断断续续的代码和教程中,我了解写出了这个程序。

1.准备需要的东西

  python3.0,以及下面这些引用的模块

import sys
import re
import requests
import execjs
import time

  一个能够登录并开通了QQ空间的QQ账号和密码。

  要爬取空间相册对象的QQ账号。

  一个能成功登录QQ空间,并且带有pskey参数的Cookies。

1.2 抓取Cookies

  一开始我也是看着教程去找的,最后发现,Chrome[版本 76.0.3809.87(正式版本) (64 位)]根本就抓不到。接下来我还是得用一个经典的工具。

步骤:打开fiddler ,打开浏览器,访问登录你的账号,在拦截的列表中找到右侧栏中Cookies里带pskey参数,右键菜单选择查看标头将它复制,替换py文件中的Cookies参数。

  

(图为fiddler的拦截信息)

 (图为查看标头对话框)

2.0 替换代码

    将准备的QQ号码[要与Cookies对应]赋值给uin

    将准备的爬取对象QQ号码赋值给fuin

    将抓取的cookies赋值给cookie

2.1 执行代码

  在安装完需求模块与准备好一切之后,将它保存,在PowerShell or cmd命令行中启动。 程序在爬取完相册链接后会执行Input,

填入指定目录,将输出链接.txt文件到该目录。【这时的文本文件里是未转义的JS代码,你可以写一个转义工具将 / \/ 手动转义,例如下面给出的代码:】

'\Code for vb6
'\e-mail: [email protected]
Dim url() As String

Public Function url_format(stra As String) As String
'由于可能需要转义的url代码行超出Integr(32...)级别,启用long更稳妥
Dim strb() As String
Dim i As Long
url_format = ""
strb = Split(stra, "\")
For i = 0 To UBound(strb)
If strb(i) <> "/" Then
url_format = url_format + strb(i)
End If
Next
End Function

Public Sub main()
Dim i As Long
Open App.Path & "\ling_url.txt" For Input As #1
Do Until EOF(1)
ReDim Preserve url(i)
Line Input #1, url(i)
url(i) = url_format(url(i))
i = i + 1
Loop
Close #1
Open App.Path & "\ling_Val_url.txt" For Output As #2
For i = 0 To UBound(url())
Print #2, url(i)
Next
Close #2
End Sub

   执行代码结果(示例):

(图为填写导出目录)

3.代码分析:

猜你喜欢

转载自www.cnblogs.com/lingqingxue/p/11306575.html