超详细教学python爬取网页图片

首先确定网站 https://www.choumeizi.com/8952.html 我们可以看到这个网站的妹子是非常好看的 1.首先要分析网站 找到图片的链接,进行分析,发现这是个图片集,我们还需要进入这个合集里找到单个的图片链接 成功找到SRC, 接下来进行最基本的设置 引入我们的requests和lxml 进行头部的伪装 2.转到翻页层 观察网页的下一页操作,发现这是个极其简单的静态网站 翻页仅仅就是换个page后面的数字 我们设置一个L变量来进行翻页的操作。 3写翻页界面的请求和xpath

然后一个for循环进行便利 将每一个URL拿出来方便我们后续的访问 4.然后找到我们需要的合集网站的地址,进行遍历,找到这个

嵌套一个for循环进行遍历 最后进行读取写入工作,防止各种问题中断,我们在加一个try 大功告成,我们看一下效果

NICE 总结一下,分析网站的构成,我们需要把合集找出来,也就是需要在第一个网页上利用xpath找到第二个网页的URl,请求这个网页,进行下载,两个FOR循环实现遍历, 又,我发现他是个静态网页,每次翻页的变换仅仅是page后面的数字变化,设置一个变量来完成翻页就好了。 源码如下 import requests from lxml import etree import time count = 0

l=1

header = {“user-agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47”} while(1): try:

url = "https://www.choumeizi.com/category/coser/page/"+str(l)
    l=l+1
    print(url)
    html = requests.get(url, headers=header,timeout=200).text
    html = etree.HTML(html)
    a = html.xpath(//*[@id="main"]/div[2]/div/div[1]/div[3]/div/div/div/div/a[1])
    for i in a:
                b = i.xpath(@href)[0]
                # time.sleep(0)
                c = requests.get(b, headers=header,timeout=200).text
                c = etree.HTML(c)
                c = c.xpath(//*[@id="main"]/div[2]/div/div[1]/div/div/div[2]/article/figure/img)
                for t in c:

                    d = t.xpath(@src)[0]
                    m =  requests.get(d).content

                    # time.sleep(20)

                    with open(f./tupian2/{count}.jpg, wb) as f:
                        f.write(m)
                        count = count + 1
                        print(count)
except  Exception as e:
        print(e)
经验分享 程序员 微信小程序 职场和发展