百度百科事典

driver.get("https://baike.baidu.com/item/%E8%87%AA%E7%9B%B8%E5%85%B3%E5%87%BD%E6%95%B0/9851266")
bs = BeautifulSoup(driver.page_source)

tags = bs.find('div',{
    
    'class':'basic-info cmn-clearfix'})
tags = list(zip(
    [dt.text.replace('\xa0','') for dt in items.find_all('dt')],
    [dd.text.replace('\n','') for dd in items.find_all('dd')]
))
print(tags)
'''
[('中文名', '自相关函数'),
 ('外文名', 'Autocorrelation Function'),
 ('属性', '函数'),
 ('相关', '统计学'),
 ('等同于', '自协方差'),
 ('应用学科', '数学')]
'''

テキストコンテンツ

paras = bs.find_all('div',{
    
    'class':'para','label-module':'para'})
content = '\n'.join([p.text.replace('\n','') for p in paras])
print(content)
'''
自相关函数(Autocorrelation Function)在不同的领域,定义不完全等效。在某些领域,自相关函数等同于自协方差(autocovariance)。
自相关(英语:Autocorrelation),也叫序列相关,[1] 是一个信号于其自身在不同时间点的互相关。非正式地来说,它就是两次观察之间的相似度对它们之间的时间差的函数。它是找出重复模式(如被噪声掩盖的周期信号),或识别隐含在信号谐波频率中消失的基频的数学工具。它常用于信号处理中,用来分析函数或一系列值,如时域信号。
在统计学上,自相关被定义为,两个随机过程中不同时刻的数值之间的皮尔森相关(Pearson correlation).

如果X为广义平稳过程,则的期望以及标准差不随时间t变化,则自相关函数可以表示为时间延迟的函数,如下

信号处理
,
其中“*”是卷积算符,为取共轭。
同一时间函数在瞬时t和t+a的两个值相乘积的平均值作为延迟时间t的函数,它是信号与延迟后信号之间相似性的度量。延迟时间为零时,则成为信号的均方值,此时它的值最大。[2] 
简而言之,自相关函数是表达信号和它的多径信号的相似程度。一个信号经过类似于反射、折射等其它情况的延时后的副本信号与原信号的相似程度。
以下以一维自相关函数为例说明其性质,多维的情况可方便地从一维情况推广得到。
对称性:从定义显然可以看出R(i) = R(−i)。连续型自相关函数为偶函数。
当f为实函数时,有:

当f是复函数时,该自相关函数是厄米函数,满足:

其中星号表示共轭。
连续型实自相关函数的峰值在原点取得,即对于任何延时 τ,均有 |R_f(\tau)| \leq R_f(0)。该结论可直接有柯西-施瓦兹不等式得到。离散型自相关函数亦有此结论。[2] 
周期函数的自相关函数是具有与原函数相同周期的函数。
两个相互无关的函数(即对于所有 τ,两函数的互相关均为0)之和的自相关函数等于各自自相关函数之和。
由于自相关函数是一种特殊的互相关函数,所以它具有后者的所有性质。
连续时间白噪声信号的自相关函数是一个δ函数,在除 τ = 0 之外的所有点均为0。
维纳-辛钦定理(Wiener–Khinchin theorem)表明,自相关函数和功率谱密度函数是一对傅里叶变换对:


实值、对称的自相关函数具有实对称的变换函数,因此此时维纳-辛钦定理中的复指数项可以写成如下的余弦形式:


白噪声的自相关函数为δ函数:

具有罗伦兹功率谱的色噪声的自相关函数为:
<Q(t)Q(t')>= 
信号处理中,自相关可以提供关于重复事件的信息,例如音乐节拍(例如,确定节奏)或脉冲星的频率(虽然它不能告诉我们节拍的位置)。另外,它也可以用来估计乐音的音高。
'''

PNG画像をダウンロード

import requests
from bs4 import BeautifulSoup
import threading
import requests
from lxml import etree
from urllib import request
import os
import re
from queue import Queue


global num_thread
num_thread = 0

class Consumer(threading.Thread):
    headers = {
    
    
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
    }

    def __init__(self, img_queue, *args,**kwargs):
        super(Consumer, self).__init__(*args,**kwargs)
        global num_thread
        self.img_queue = img_queue
        self.id = num_thread
        num_thread += 1
 
    def run(self):
        while True:
            if self.img_queue.empty():
                print('thread \t{}\t bye'.format(self.id))
                break
            print('剩余:', img_queue.qsize())
            url = self.img_queue.get()
            urllib.request.urlretrieve(png, png.split('/')[-1])

            
import urllib

pngs = re.findall('https\:\/\/bkimg.*?\.png',str(bs))

N = len(pngs)
N_threads = N
img_queue = Queue(N)

for u in pngs:
    img_queue.put(u)

for x in range(N_threads):
    t = Consumer(img_queue)
    t.start()
    t.join()
    
print('Download')

おすすめ

転載: blog.csdn.net/itnerd/article/details/108720103
おすすめ