批量爬取B站收藏夹封面ver2.0 Python 爬虫 多线程

之前的版本:链接:批量爬取B站收藏夹封面 v1.0

批量爬取B站收藏夹封面ver2.0


相对之前版本更新内容:

※ 无需安装you-get库,可直接使用。

※ 提升封面下载速度,提升效率约90%

※ 尽量保证标题的完整度,仅去掉无法使用的符号(/\|<>?*:")

工具源码
from concurrent.futures import ThreadPoolExecutor
import threading
import requests
import json
import os


# 更正文件名
def correctFileName(name):
    n_list = list(name)
    for i in range(0, len(n_list)):
        index = 0
        for i in n_list:
            if (
                    i == '\\' or i == '/' or i == ':' or i == '*' or i == '?' or i == '\"' or i == '<' or i == '>' or i == '|'):
                n_list.pop(index)
            index = index + 1
    return ''.join(n_list)


# 解析指定收藏夹的ID,获取收藏夹信息,可指定获取多少页
def parseUrl(id, page):
    url = []
    # 添加收藏夹第一页信息地址
    url.append("https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=" +
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
抓取QQ空间公开信息需要模拟浏览器行为,而且需要登录QQ账号获取Cookie,因此比较复杂。以下是一个简单的示例代码,仅供参考: ```python import requests from bs4 import BeautifulSoup # 登录QQ账号获取Cookie session = requests.session() login_url = 'https://xui.ptlogin2.qq.com/cgi-bin/xlogin' params = { 'appid': '715030901', 'daid': '73', 'pt_no_auth': '1', 's_url': 'https://qzs.qq.com/qzone/v5/loginsucc.html?para=izone', 'pt_no_verifycode': '1', 'ptlang': '2052', 'u1': 'https://qzs.qq.com/qzone/', 'pt_randsalt': '0', 'pt_vcode_v1': '0', 'pt_verifysession_v1': '', } data = { 'u': '你的QQ号码', 'p': '你的QQ密码', 'verifycode': '', 'pt_randsalt': '0', 'pt_vcode_v1': '0', 'pt_verifysession_v1': '', 'u1': 'https://qzs.qq.com/qzone/', 'ptredirect': '0', 'h': '1', 't': '1', 'g': '1', 'from_ui': '1', 'ptlang': '2052', 'action': '2-0-1524631886794', 'js_ver': '10243', 'js_type': '1', 'login_sig': '', 'pt_uistyle': '40', 'aid': '715030901', 'daid': '73', 'pt_qzone_sig': '1', 'pt_3rd_aid': '0', } headers = { 'Referer': 'https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=715030901&daid=73&pt_no_auth=1&s_url=https://qzs.qq.com/qzone/v5/loginsucc.html?para=izone&pt_no_verifycode=1&ptlang=2052&u1=https://qzs.qq.com/qzone/&pt_randsalt=0&pt_vcode_v1=0&pt_verifysession_v1=', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', } response = session.get(login_url, params=params, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') data['login_sig'] = soup.select('#login_sig')[0]['value'] response = session.post(login_url, params=params, data=data, headers=headers) # 抓取QQ空间公开信息 qq_number = '123456789' # 要抓取的QQ号码 url = f'https://user.qzone.qq.com/{qq_number}' headers = { 'Referer': url, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'Cookie': '; '.join([f'{k}={v}' for k, v in response.cookies.items()]), } response = session.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') print(soup.select('#feed_friend_list')) ``` 需要注意的是,以上代码仅供学习和参考,不保证一定能成功抓取QQ空间公开信息。此外,抓取他人信息可能涉及个人隐私,建议谨慎使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值