简单python爬虫编写

本文只适合对python感兴趣的初学者(因为我也是),只是单纯的小分享。代码不严谨的地方请见谅

疫情期间在家闲来无事,每天打游戏荒废了一段时间。我觉得自己不能在这么颓废下去,就立马起身写了一点python代码(本人只是python新手)。

找来找去突然找到一个不错的网站(你懂得),看见上面的照片于是起来自己写了一个小程序能够自动爬取这个网站照片的小程序来练练手

上网站:

https://www.meizitu.com/a/xinggan_2_1.html

60788-66bie4qzgwa.png

画面过于美好先打上一波马赛克,马赛克之前的模样。

自己想象一下

第一打开网站 我们按f12查看源代码发现,这里的图片的xpath只有缩略图,但是他的a标签里的href的网址有他大照片的地址,我们点进去查看后,发现img里面有src。

这里 如果只是单纯的爬取他的src,那我们爬取的就只有这一个页面,如果还要在爬取其他页面还要在修改地址很麻烦。

所以第一步我们用xpath先来定位缩略图里面a标签里面的href,将他生成一个列表,同时我们发现所有缩略图的xpath都是有规律的所以这样无疑减少了很多难度。

17559-6qgqspr27qe.png
其二打开缩略图,发现图片的xpath也是很好获取

好了上源码

import requests

from lxml import etree

import time

class sprider(object):

def __init__(self):
    self.header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}
def url(self):
    url = 'https://www.meizitu.com/a/xinggan_2_1.html'
    response = requests.get(url,headers=self.header)
    selector = etree.HTML(response.content)
    for i in range(1,31):
        url2 = selector.xpath('//*[@id="maincontent"]/div[1]/ul/li[%d]/div/div/a/@href' %(i))[0]
        response2 = requests.get(url2,headers=self.header)
        selector2 = etree.HTML(response2.content)
        self.pc(selector2)
def pc(self,selector2):
    for i in range(1,12):
        time.sleep(2)
        src = selector2.xpath('//*[@id="picture"]/p/img[%d]/@src' %(i))
        title = selector2.xpath('//*[@id="picture"]/p/img[%d]/@alt' %(i))
        print(title)
        print(src)
        self.write(src,title)
def write(self,src,title):
    for a,b in zip(src,title):
        name = b ".jpg"
        print("正在抓取",name)
        photo = requests.get(a,headers=self.header)
        time.sleep(5)
        with open(name,"wb") as f:
            f.write(photo.content)

s = sprider()

s.url()

ps:这个只是我自己编写的一个小程序 仅供学习 想自己用的话还要结合自己的实际情况 比如User-Agent头 要替换成自己的

开始运行之后啊就可以看见一张张照片存放在自己的文件夹里了可能会比较慢 没加多线程 后续有时间我会在写一篇多线程的文章

见谅见谅

默认存放在这个程序所在的文件夹

00789-rn28m01sc4i.png

注:本文只提供技术分享,请勿用作其他非法用途。如果造成任何法律部后果与本文作者无关

本文经授权后发布,本文观点不代表立场,转载请联系原作者。
Inhale:一款功能强大的恶意软件分析与分类工具
« 上一篇 05-14
记一次渗透实战
下一篇 » 05-15

相关推荐

基于社工的钓鱼研究

声明由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的...