BeautifulSoup4 中文乱码

BeautifulSoup4解析页面的时候发现有一部分内容是乱码,刚开始还以为是pycharm的问题,后来发现可能问题不是出在pycharm上,因为普通的print打印的中文是没有问题的。测试代码如下:

def proxy_get(url):
    if is_use_proxy:
        socks.set_default_proxy(socks.SOCKS5, PROXY_HOST, PROXY_PORT)
        socket.socket = socks.socksocket
    req = requests.get(url, headers=HEADERS)
    return req.text


def get_sub_pages_test(url):
    '''
    http://www.meitulu.cn/t/shishen/
    :param url:
    :return:
    '''
    bs = BeautifulSoup(proxy_get(url), "html.parser")
    boxes = bs.find('div', class_='boxs')
    lis = boxes.find_all('li')
    log_text('PAGE', '开始分析页面链接', is_begin=True)
    for l in lis:
        p = l.find('p', class_='p_title')
        print( p.text)
Continue Reading

色情网站发展历史

当你在凝视深渊的时候,深渊也在凝视着你 -- 尼采《善恶的彼岸》

什么是网络色情?严谨的定义就是:凡是网络上以性或人体裸露为主要诉求的讯息,其目的在于挑逗引发使用者的性欲,表现方式可以是透过文字、声音、影像、图片、漫画等。

网络色情发展史

  • 互联网萌芽年代 邮件传输——当时在大学科研院所以及一些公司,已经有人通过软盘、邮件来传输一些来自台湾、日本的纯色情文字。

  • 互联网普及年代 搜索引擎之SEX和XXX搜索——有了搜索引擎,给网络色情的中国的发展带了巨大的发展。96年的YAHOO,97年国内的SOHOO,其搜索结构中,SEX和XXX主体字的搜索占了很大的比例。

  • 互联网发展年代 个人主页、情色电影、明星图片、性爱课堂、色情文学

  1. 个人网站初期,色情的躲避和小范围传播:98年,国内的碧海银沙和网易推出了免费申请的个人主页空间,网络用户大量增加。当时的政策是,一旦发现某个个人网站中有色情成分,如果被空间提供商发现,就会停止器个人空间,如果被公安局发现,就会连带影响到整台服务器。 门户网站的边缘内容从情色电影、明星图片到性爱课堂:99年国内开始出现门户的概念,以大内容吸引更多网民访问的网站,已经主动提供了一些可算可不算色情的内容,比如提供情色电影海报,介绍等,特别是各种明星图片。

Continue Reading

m3u8 下载工具 V20.10.28[Win/OS X]

支持的下载方式:

  1. 从m3u8链接下载,参数 -i
  2. 从本地文件读取下载链接下载,参数 -f

参数说明:

  1. 如果直接从m3u8下载链接下载请使用-i参数, 示例:m3u8_downloader -i http://www.h4ck.org.cn/porn/av.m3u8, 同时支持下载mp4、avi文件。直接修改下载链接即可。
  2. 支持从文件读取下载链接批量下载,支持文本格式和csv格式,csv格式可以自定下下载后的文件名。文本格式按照每行一个下载链接组织内容即可。示例:

    m3u8_downloader -f /Users/obaby/Downloads/m3u8_list/f_26.csv

  3. 如果下载单个文件可以通过-o参数指定输出文件名,配合-i参数使用, 实例:m3u8_downloader -i http://www.h4ck.org.cn/porn/av.m3u8 -o av.mp4
  4. 从文件读取下载链接可以通过-p参数指定输出目录,在-p模式下或者没有指定输出文件名称的情况下,程序会自动生成文件名。实例:m3u8_downloader -f /Users/obaby/Downloads/m3u8_list/f_26.csv -p /Volumes/home/Porn/20201023
Continue Reading

Python requests socks代理

更新requests 为支持socks的版本:

pip install -U requests[socks]

测试代码:

import requests

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
}

proxies = {
    #'socks5': '127.0.0.1:8889'
    'http':'socks5://127.0.0.1:8889',
    'https':'socks5://127.0.0.1:8889'
}
url = 'http://nkm3s8.xyz/'
try:
    print('Proxy:')
    res = requests.get(url, headers=headers, proxies=proxies, timeout=10)
    print(res)
except Exception as e:
    print(e)

try:
    print('No Proxy:')
    res = requests.get(url, headers=headers, timeout=10)
    print(res)
except Exception as e:
    print(e)

mht文件图片解析工具(兼容Chrome/Blink)

之前写过一个mht文件的解析工具,不过当时解析的文件都是ie生成的。没有测试过chrome解析的文件。今天在github上看到一个反馈:https://github.com/obaby/mht-image-extractor/issues/1 qq浏览器保存的文件无法提取,chrome保存的文件会直接崩溃。下载附件的文件解析后发现,这两个文件的文件格式与ie的文件格式并不一致,文件头改成了如下的内容:

From: 
Snapshot-Content-Location: https://mp.weixin.qq.com/s?__biz=MzU1NzQ3MTg5OQ==&mid=2247483652&idx=1&sn=a16979f8b088cb60fb63f210536d5288&chksm=fc3400f0cb4389e698a5a3ce1bf6a6ab3ff6f547bb4db409893850b0c502053d1fea40f70fda&sessionid=0&scene=126&subscene=0&clicktime=1599463540&enterid=1599463540&ascene=3&devicetype=android-28&version=27001237&nettype=ctnet&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&exportkey=AUPVIV8Yt1hvPJ2dYKFWhvM%3D&pass_ticket=eTzcuEu%2BGavsf30E3HDErOhtb18ThPDhge008pIBzY7AFq0IuG1LUgojTpufwqUZ&wx_header=1
Subject: =?utf-8?Q?=E6=B1=89=E6=9C=8D=E4=B8=A8=E5=BD=BC=E5=B2=B8=E8=8A=B1=E5=BC=80?=
Date: Sun, 20 Sep 2020 00:50:44 -0000
MIME-Version: 1.0
Content-Type: multipart/related;
    type="text/html";
    boundary="----MultipartBoundary--Bx5ubV1DnfL8hvvsySfZL6MQeLa58tWkfwrQGpothO----"

而ie保存的文件头则是如下格式的:

Content-Type: multipart/related; start=op.mhtml.1267442701515.fe60c16c115c15f9@169.254.195.209; boundary=----------pMKI1vNl6U7UKeGzbfNTyN Content-Location: http://a.10xjw.com/feizhuliu/89905.html
Subject: =?utf-8?Q?=E8=B6=85=E7=BE=8E=E4=B8=9D=E6=8E=A7=E5=A7=90=E5=A6=B9=E8=8A=B1=E7=A7=92=E6=9D=80=E4=BD=A0=E6=B2=A1=E9=97=AE=E9=A2=98[26P]-=2037kxw.com=20-=20=E4=B8=AD=E5=9B=BD=E6=9C=80=E5=A4=A7=E7=9A=84=E8=89=B2=E6=83=85=E5=88=86=E4=BA=AB=E7=BD=91=E7=AB=99?= MIME-Version: 1.0
Continue Reading