python pdf转图片 多线程_超简单!python多线程采集头像图片

[Python] 纯文本查看 复制代码#www.woyaogexing.com头像采集

# -*- coding: utf-8 -*-

import requests

from lxml import etree

import re

import os

from multiprocessing.dummy import Pool as ThreadPool

def hqlj(n):

urls = []

for x in range(2,n+1):

url=f'https://www.woyaogexing.com/touxiang/index_{x}.html'

if x==1:

url='https://www.woyaogexing.com/touxiang/index.html'

print(url)

html=requests.get(url)

html.encoding="utf-8"

html=html.text

con=etree.HTML(html)

'''href=con.xpath('//div[@class="txList "]/a')

print(href)

for urls in href:

print(urls.attrib['href'])'''

href=con.xpath('//div[@class="txList "]/a/@href')

print(href)

for lj in href:

lj=f'https://www.woyaogexing.com{lj}'

print(lj)

urls.append(lj)

print(urls)

return urls

def hqtx(url):

#url="https://www.woyaogexing.com/touxiang/qinglv/2019/800160.html"

html=requests.get(url)

html.encoding="utf-8"

html=html.text

con=etree.HTML(html)

h1=con.xpath('//h1/text()')

h1=h1[0]

h1 = re.sub(r'[\|\/\\:\*\?\\\"]', "_", h1) # 剔除不合法字符

print(h1)

os.makedirs(f'./touxiang/{h1}/',exist_ok=True)

imgs=con.xpath('//img[@class="lazy"]/@src')

print(imgs)

i=1

for img in imgs:

img_url=f'https:{img}'

if 'jpeg' in img_url:

img_name=img_url[-5:]

else:

img_name = img_url[-4:]

n=str(i)

img_name='%s%s'%(n,img_name)

print(img_name)

print(img_url)

r=requests.get(img_url)

with open(f'./touxiang/{h1}/{img_name}','ab+') as f:

f.write(r.content)

print(f"保存{img_name}图片成功!")

i=i+1

#hqlj("https://www.woyaogexing.com/touxiang/")

if __name__ == '__main__':

n=input("请输入要采集的页码数:",)

n=int(n)

urls=(hqlj(n))

try:

# 开4个 worker,没有参数时默认是 cpu 的核心数

pool = ThreadPool()

results = pool.map(hqtx, urls)

pool.close()

pool.join()

print("采集所有头像完成!")

except:

print("Error: unable to start thread")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值