python爬虫——校花网

爬取校花网图片

校花网http://www.xiaohuar.com/list-1-0.html

1.进入网站,我们会发现许多图片,这些图片就是我们要爬取的内容。

2.对网页进行分析,按F12打开开发着工具(本文使用谷歌浏览器)。我们发现每个图片都对应着一个路径。
python爬虫——校花网_第1张图片
python爬虫——校花网_第2张图片
3.我们访问一下img标签的src路径。正是图片的路径,能够获取到图片。因此我们需要获取网页中img标签下的src。
python爬虫——校花网_第3张图片
4.找到网页中的src。查看一下网页源代码,谷歌查看网页源代码快捷键(ctrl+u)。所有图片的src都在源代码中,我们使用正则表达式,可以轻松获取src路径。
python爬虫——校花网_第4张图片
5.想获取多个网页的图片,就要分析网页网址的规律,打开第二页,第三页,
发现网址分别为http://www.xiaohuar.com/list-1-1.html,http://www.xiaohuar.com/list-1-2.html
,很容易发现url的规律。

6.所有内容我们都分析完了,用代码实现起来很简单。用for循环遍历所有的网址,获取每页的页面内容,从中用正则表达式提取出图片的src。再用for循环去遍历所有图片的image_url。请求image_url,获取到内容,以二进制格式写入文件。

完整代码:

import requests
import re
#获取网页地址
#http://www.xiaohuar.com/list-1-3.html
#http://www.xiaohuar.com/list-1-5.html


url='http://www.xiaohuar.com/list-1-%s.html'

for i in range(4):#4表示要爬取4页图片,这里可根据需求做出修改。
    temp=url % i
    print(temp)
    #获取网页源码
    response=requests.get(temp)
    html=response.text
    #从源码文本中匹配我们需要的url
    img_urls=re.findall(r'/d/file/\d+/\w+\.jpg',html)

    for img_url in img_urls:
        img_response=requests.get('http://www.xiaohuar.com%s'%img_url)
        print(img_url)
        #图片的二进制信息
        img_data=img_response.content
        girl=img_url.split('/')[-1]
        with open('%s'%girl,'wb') as f:
            f.write(img_data)

爬取结果:

python爬虫——校花网_第5张图片

你可能感兴趣的:(python爬虫)