IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 学不会python多线程爬虫的函数调用,也就是面对方法爬虫,求解 -> 正文阅读

[Python知识库]学不会python多线程爬虫的函数调用,也就是面对方法爬虫,求解

学了一整天多线程爬虫之类的封装函数调用方法,老是没有反应,而单步爬虫可以爬取下来,但是显速度慢,求大神解惑,爬虫的定义函数方法到底怎么用,是什么样的思想?

代码如下,定义函数之前的单步可以爬取,也就是仅会这个方法的爬虫,封装函数的爬虫至今没成功过!

from multiprocessing.dummy import Pool
import requests
from lxml import etree
import PySimpleGUI as sg
import time
import random
# path=str(sg.popup_get_folder('选择保存文件夹'))


rooturl='https://wallroom.io'
headers = {
    'authority': 'wallroom.io',
    'cache-control': 'max-age=0',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'sec-fetch-site': 'none',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-user': '?1',
    'sec-fetch-dest': 'document',
    'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}
start_time=time.time()
#网站主页面
response=requests.get(rooturl,headers=headers)
response.encoding='utf-8'
parsel=etree.HTML(response.text)
pagelist = parsel.xpath('//div[@class="image-list"]/div/a/@href')
for page in pagelist:
    url=rooturl + page

#图片详情页
#此步骤比较耗时且阻塞,因此在此步加入多线程
# 问题:在此步抓取不到任何信息,似乎该函数没有获取到上面的url
def get_detail(url):
    response = requests.get(url,headers=headers)
    response.encoding='utf-8'
    parsel=etree.HTML(response.text)
    imgurl = parsel.xpath('/html/body/nav/div[3]/a/@href')
    name = parsel.xpath('/html/body/nav/div[3]/span/b[1]/text()')
    downloadurl = [rooturl + img for img in imgurl]
    dic={
        'name':name,
        'url':downloadurl
    }
    print(dic)
#下载图片按钮
# 问题:在此步抓取不到任何信息,似乎该函数没有获取到上面的url
def save_img(dic):
    url=dic['url']
    name = dic['name']
    print('正在下载-----',name)
    data = requests.get(url,headers=headers).content
    filepath = 'C:/Users/DWX/Desktop/111/'+ str(name)+'.jpeg'
    with open(filepath, 'wb') as 变量名:
        变量名.write(data)
        print('下载-----', name, '-----成功')

pool=Pool(6)
pool.imap(get_detail,url)

pool.close()
pool.join()

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:17:56  更:2021-11-23 12:18:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:20:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码