用多进程配套多进程短时间大量爬取图网25000张图.

问题:出现程序无结果不出问题也不报错,正常结束的异常,经多方检查调试.

原因:彼岸图网cookie隔30min刷新一次,用旧的cookie爬第一级页面只能爬到含有"跳转中"的源代码,导致xpath什么都解析不到,,而不用cookie也是如此.

解决:唯一解决办法是将旧的cookie换成新的cookie,若不用多线程多进程,则不会出现此问题.推测是因为cookie能跳过含有"跳转中"的页面,直接请求目标页面,应该不是网站站长主动反扒的措施,而就算用多进程套多线程,30min内只能爬到15000张图片,与目标数量相差甚远,所以换成使用selenium.目前正在尝试中....

这是第一版的代码,错误和算法问题最多,留录在此,方便往后再次观摩.--1.23记录

# -*- coding: UTF-8 -*-
"""
@Author: 王散 Creative
@Time: 2022/1/22 18:50
@IDE_Name/Software: PyCharm
@File: 应对彼岸图网的极限反爬
"""
import requests
from lxml import etree
import time
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
import threading
from multiprocessing import Lockdef task(url):# lock = threading.Lock()Squence = 0header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.469""2.99 Safari/537.36",}resp1 = requests.get(url=url, headers=header)resp1.encoding = 'gbk'# print(resp1.text)tree = etree.HTML(resp1.text)analysis1 = tree.xpath('//*[@id="main"]/div[3]/ul/li//a/@href')analysis2 = tree.xpath('//*[@id="main"]/div[3]/ul/li/a/b/text()')for ItemTwo in analysis1:url_two_page = 'https://pic.netbian.com' + ItemTworesp2 = requests.get(url=url_two_page, headers=header)# time.sleep(0.5)resp2.encoding = 'gbk'tree_two = etree.HTML(resp2.text)analysis3 = tree_two.xpath('//*[@id="img"]/img/@src')for ItemThree in analysis3:url_image_page = 'https://pic.netbian.com' + ItemThreeresp3 = requests.get(url=url_image_page, headers=header)# lock.acquire()image_file = open(f'D:\python_write_file\爬虫NumberTwo\Image\彼岸网爬的好图2\\{analysis2[Squence]}.jpg', 'wb')image_file.write(resp3.content)image_file.close()# lock.release()print(f'{analysis2[Squence]}==>爬取完毕')# lock.acquire()Squence = Squence + 1# lock.release()# def main(num):
#     with ThreadPoolExecutor(252) as exe_Pool:
#         for item in range(num, num+126):
#             lock.acquire()
#             if item == 1:
#                 exe_Pool.submit(task, 'https://pic.netbian.com/new/')
#                 lock.release()
#             else:
#                 exe_Pool.submit(task, f'https://pic.netbian.com/new/index_{item}.html')
#                 lock.release()
#         return num+30if __name__ == "__main__":# num = 1# lock = Lock()with ProcessPoolExecutor(45) as Process_Pool:for item in range(1, 1261):if item == 1:Process_Pool.submit(task, 'https://pic.netbian.com/new/')else:Process_Pool.submit(task, f'https://pic.netbian.com/new/index_{item}.html')# for number in range(1, 11):#     lock.acquire()#     num = Process_Pool.submit(main, num)#     lock.release()

大批量爬取彼岸图网内容遇到的问题相关推荐

  1. [ Python ] 爬虫类库学习之 xpath,爬取彼岸图网的 小姐姐 图片

    安装:pip install lxml 实例化一个etree对象 from lxml import etree 1.将本地的html文档中的源码数据加载到etree对象中 etree.parse(fi ...

  2. Python新手爬虫训练小项目《爬取彼岸图网》(超详细讲解版)

    Python新手爬虫训练小项目<爬取彼岸图网>(超详细讲解版) 这是我的第一篇文章,作为一名新手爬虫,这个算是我这几天来的努力成果,虽然代码寥寥几行但花费了大半天,新手上路还是不能只看视频 ...

  3. python爬虫爬取彼岸图网图片

    python爬虫爬取彼岸图网图片 话不多说,直接上代码! import requests from PIL import Image from io import BytesIO import re ...

  4. 用Python爬取彼岸图网图片

     用Python爬取彼岸图网图片 *使用了  四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装. ...

  5. 爬取彼岸图网4k图片

    爬取彼岸图网高清美女图片 代码如下

  6. Python网络爬虫8 - 爬取彼岸图网美图

    彼岸图网收集了大量美图,是个不错的爬取对象.话不多说,直接上图. 分析站点 分类列表 爬取之前,自然要分析一波,这个站点的框架比较简单,从分类着手,共包含12个分类项. 4K人物 4K动漫 4K动物 ...

  7. requests库和lxml库爬取彼岸图网的图片

    ```python import requests,os from lxml import etree# 创建对应的存储的文件夹 if(not os.path.exists('./彼岸图网图片')): ...

  8. 【爬虫】关于爬取彼岸图网4K壁纸的分析

    目标地址 网络绝大部分所爬取的壁纸URL类似这样: https://pic.netbian.com/uploads/allimg/180315/110404-1521083044b19d.jpg 然而 ...

  9. 【Python】爬虫(Xpath):批量爬取彼岸图网4K图(非真正4K)

    因为真正的4K图需要登录,并且登录后一天也就只能下载一张,所以就只解析爬取了内容页的高清图片(1200*633左右) 代码实现了我目前所能想到的用户骚操作的判定,例如选择的类目不在这个网站内, 或者这 ...

最新文章

  1. 删除目录下大量小文件和清空大文件
  2. PAT甲级1118 Birds in Forest :[C++题解]并查集
  3. C++中流的基本概念
  4. NYOJ 298 点的变换(矩阵快速幂)
  5. 室外定位_为什么老师应该走出自己的舒适区而进入室外
  6. Redis(六):Redis主从复制(1)原理
  7. Scala的所有符号运算符都意味着什么?
  8. 从精度看CPU线程:实验室与量产的差距
  9. 阿里巴巴内部资料:2018全技术栈图册ppt分享
  10. 系统分析师学习笔记(八)
  11. 细说ConcurrentHashMap扩容规则
  12. 基于程序员职业对于婚配问题的研究——程序员为何单身?
  13. WF 与 WCF 集成
  14. Kickstart自动化安装平台
  15. 后门准则(Backdoor Criterion)与前门准则(Frontdoor Criterion)
  16. 华为OD机试题:工厂流水线调度
  17. 关系型数据库及其SQL基础语句
  18. Java复制一个文件到新文件夹中,并对新文件重命名
  19. mysql记录历史价格_mysql历史订单
  20. repeater 控件ajax绑定数据源,[Asp.net之旅]--数据绑定控件之Repeater

热门文章

  1. android 监听系统广播
  2. html制作登陆注册页面
  3. shineblink ADXL345传感器测量三轴加速度/倾斜角
  4. 判断两个单链表是否相交--java实现
  5. G1调优常用参数及其作用
  6. 手变小是怎么回事_手小该怎么办呢?如何变大???
  7. 金桔蓝牙网关蓝牙连接错误代码对照表
  8. 强化学习入门级实践教学
  9. (手写识别) Zinnia库及其实现方法研究
  10. 安全知识普及:如何让您的计算机上网安全,无忧冲浪