分类标签归档:爬虫

解析某音短视频X-Bogus


写在前面

首先推荐一篇资料:
某音短视频 X-Bogus 逆向分析,JSVMP 纯算法还原
这篇文章介绍了通过插桩日志抠算法的过程,很有参考价值。
文章已经实现的部分,本文不再重复,本文主要介绍从X-Bogus还原19位数组的过程,方便理解算法。

目标

// 从
var x_bogus = 'DFSzswVVUyXANrqJSkdAml9WX7jG';
// 还原出
var x_array = [64, 0.00390625, 1, 28, 7, 22, 69, 63, 0, 186, 99, 164, 90, 214, 32, 0, 190, 144, 201];

正向梳理

Read more

抓取高途课堂课程和教师信息


写在前面

笔者偶尔参加了高途课堂的辅导老师面试,当时也没做什么准备,被HR问懵逼了,对公司也没做什么了解,自己的职业规划也不清楚,过去的经历一问也三不知,临走还把自己简历要了回去,以前我绝对是不敢厚着脸皮做这种事情的,只能说入职半年有进步。我更像是去闹着玩的,实际上我就是闲的了,我一开始就知道自己不适合做这种有销售性质的工作,太久不参加面试想练练手,给我投递橄榄枝的这位HR就成了我的“工具人”,如果HR本R读到这篇文章,且让我给您道个歉,顺便说一句,对于您问我“工作环境是什么”这件事我颇有微词。这篇文章就让我尝试了解一下高途课堂吧,抓一下他们的课程和教师信息。

直接上代码

我觉得没有必要写面向

Read more

抓取B站评论并可视化


写在前面

最近一位很火的央视美女主持,没错,说的就是王冰冰,入驻B站啦,她在2020年的最后一天发布了一条vlog,疯狂涨粉200w,成功跻身2020百大up,那么B站的网友们在评论区说了什么呢?让我们一起来看看吧!

思路分析

B站评论接口如下:


https://api.bilibili.com/x/v2/reply


参数有:

#固定值,可省略
'jsonp':'jsonp'
#固定值,不可缺省
'type':'1'
#评论页数
"pn":1
#排序方式,2代表从旧到新,1代表从新到旧,默认为1
'

Read more

再探Scrapy爬虫框架


写在前面

爬虫框架也是需要掌握的知识,这次尝试抓取药监局的化妆品信息,并保存到excel和MongoDB数据库中。

目标地址


化妆品生产许可信息服务平台


准备工作

#创建scrapy项目
scrapy startproject NMPA
#进入项目目录
cd NMPA
#创建spider
scrapy genspider nmpaspider "scxk.nmpa.gov.cn"

修改items

import scrapy

class NmpaItem(scrapy.Item):
    # define the fields for your item here 

Read more

Python模拟登录百度贴吧(requests)


写在前面

这两天本打算做两件事,其一是仅利用BDUSS实现模拟登录百度,再进一步请求到贴吧首页,其二是关于朴素贝叶斯分类器的,拉普拉斯平滑是很重要的内容,需要对文章进行补充。但第一件事就花了两天,而且得到的结果与预期并不相符,暂且记录一下过程。拉普拉斯平滑近期会补充。

思路分析

前几天写了贴吧自动灌水脚本,是用完整的cookie请求的,而我想用最少的信息做成这件事,把cookie精简再精简,是否可以只利用某一字段就实现呢?目前未探究这个问题,而选择了另外一个方向,我尝试使用Cookie中的BDUSS字段请求贴吧首页,并不能返回登录状态的信息,退而求其次,请求百度首页,这一次在返回的信息中找到了

Read more

记一次反爬虫破解


写在前面

参考文献来自csdn梦想橡皮擦,本次尝试的是网易有道词典的接口,这类教程网上有很多,但大多过时了,也不敢确定本文的有效性能保持多久,所以记录代码的同时,一并记录下方法。有道的反爬原理是生成本地随机变量进行验证,如果不能摸清随机变量的生成规则,就只能收到{'errorcode':'50'},另外,有道对请求头也有一定要求。

用到的包

#发起网页请求
import requests
#对字符进行md5加密
import hashlib
#获取时间戳
import time
#生成随机数
import random

获取随机变量

#translate为要翻译的内容
def generat

Read more

Python爬取城市天气信息


摘要

本次尝试爬取高德地图中全国部分城市天气信息,程序主要是对json字符串进行操作,如果有天气方面的数据分析需求,可以把代码稍作修改,放到服务器上定时跑一个月,就可以得到数量相当可观的数据。

用到的包

#网页请求
import requests
#操作json字符串,在本文中可用可不用
import json
#用于使程序暂停数秒
import time

全局变量

#城市及对应的adcode保存在该url指向的json文本中,在高德地图官网审查元素可以找到该url
url_city = 'https://www.amap.com/service/cityList?version=2

Read more

记一次多线程的使用


写在前面

同事老哥想让我把一个网站上所有的pdf资料爬下来,但实在是太多了,可能会对网站造成破坏,所以想了个折中的方式,把所有书的下载链接爬取下来。为了提升效率,简单的用了一下多线程。

用到的包

#请求网页
import requests
#操作excel
import openpyxl
#调用多线程
import threading
#解析网页
from bs4 import BeautifulSoup as bs

全局变量

#目标地址,一共有863页
urls = ['http://www.allitebooks.org/page/{}/'.format(i) for i

Read more

爬取LOL任意英雄皮肤


用到的包

#请求网页
import requests
#创建和切换目录
import os
#解析网页
from bs4 import BeautifulSoup as bs
#selenium模拟浏览器行为
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

初始化

#创建并切换到英雄联盟文件夹
if not os.path.exists('英雄联盟'):
    os.mkdir('英雄联盟')
os.chdir('英雄联盟'

Read more

初探Python爬虫Scrapy框架


安装框架

pip install scrapy -i https://pypi.douban.com/simple

创建项目

#打开CMD,cd到自己要保存项目的文件夹
scrapy startproject myspider

目标数据

本次尝试抓取目标链接中的讲师姓名、职称和个人信息。 则修改myspider目录下的items.py文件:

import scrapy
class DeatilItem(scrapy.Item):
    name = scrapy.Field()
    title = scrapy.Field()
    info = scrapy.Field()

Read more