关于python爬取的一种另类解密方法(字符串缝合)

本次我要爬取的网址是极简壁纸(国外网站),直接使用requests模块和bs4爬取不了,因为找到高清图的网址在打开的过程中会被解析成另一个网址,这属于网站防爬的一种加密方法。但破解简单:
通过观察
在首页看到图是缩小的非高清图(任举例)
网址为:http://static.simpledesktops.com/uploads/desktops/2019/06/22/Dinosaur_eye_2.png.295x184_q100.png
而它的高清图为:
http://static.simpledesktops.com/uploads/desktops/2019/06/22/Dinosaur_eye_2.png
所以我只要去掉后面的.295x184_q100.png,通过python强大的字符串拼接就能直接访问了,以后的类似可通过缝合字符串得到具体网址的也可以诸如此类操作。
具体实现代码为:

import re
import requests
import time##自主编写爬虫4
from bs4 import BeautifulSoup
from lxml import etree
url="http://simpledesktops.com/browse/2/"

headers={
"User-Agent":"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36"
}#UA伪装
new_page=requests.get(url=url,headers=headers)
first_soup=BeautifulSoup(new_page.text,"html.parser")
div_a=first_soup.find("div",class_= "desktops column span-24 archive").find_all("img")
for src in div_a:
    src=src.get("src")
    src=src.replace(src[-17:],"" )
    img_resp=requests.get(url=src,headers=headers)
    img_name=src.split("/")[-1]#根据具体而修改
    with open("极简/"+img_name,mode="wb")as f:
        f.write(img_resp.content)#不需要修改
        print(img_name+"over")
        time.sleep(1)#防被服务器检测禁止ip访问





posted @   昊月光华  阅读(7)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示