超详细教学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)
