# coding=utf-8
# !/usr/bin/env python
'''
author: dangxusheng
desc : 下载校花网上的个人信息:名字-学校-图片地址-点赞数
date : 2018-08-29
''' # 导入模块
import requests
from lxml import etree
import json #准备全局变量
home_url = "http://www.xiaohuar.com/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
"Referer": home_url
} # 定义单页解析方法
def one_page_info(page_index=0):
url = home_url + "list-1-" + str(page_index) + ".html"
r = requests.get(url, headers=headers)
html = r.content.decode('gbk')
# print(html)
# exit(1)
html = etree.HTML(html)
div_list = html.xpath('//div[@class="item masonry_brick"]')
info_list = []
for div in div_list:
name = div.xpath('.//span[@class="price"]/text()')[0]
name = name if name != None else '暂无名字' school = div.xpath('.//a[@class="img_album_btn"]/text()')[0]
school = school if school != None else '暂无学校' img_url = div.xpath('./div[1]/div[1]/a[1]/img[1]/@src')[0]
img_url = img_url if img_url != None else '暂无图片'
# 有些url需要补全:/d/file/20180907/075025972927c8e7541b09e272afe5cc.jpg
if str(img_url).find('http') == -1:
img_url = home_url[0:-1] + img_url
else:
pass dianz = div.xpath('.//em[1]/text()')
dianz = dianz if dianz != None else ''
info_list.append({'name': name, 'school': school, 'img_url': img_url, 'dianzan': dianz})
return info_list
# print(info_list) # 遍历列表并按照URL下载保存到文件
def donwload_jpg_2_file(info_list):
for info in info_list:
url = info['img_url']
r = requests.get(url, headers=headers, stream=True)
with open('./xiaohua/%s.jpg' % info['name'], 'wb') as file:
# 分字节下载
for i in r.iter_content(1024):
file.write(i)
print('%s 下载成功' % info['name']) # 入口函数
if __name__ == '__main__':
for i in range(50):
ls = one_page_info(i)
donwload_jpg_2_file(ls)

爬虫下载校花网美女信息-lxml的更多相关文章

  1. Python 爬虫 爬校花网!!

    爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本 1.福利来了  校花网 ,首先说为什么要爬这个网站呢,第一这个网站简单爬起来容易不会受到打击,第二呢 你懂得... 1.第一步,需要下载 ...

  2. Scrapy爬虫实例——校花网

    学习爬虫有一段时间了,今天使用Scrapy框架将校花网的图片爬取到本地.Scrapy爬虫框架相对于使用requests库进行网页的爬取,拥有更高的性能. Scrapy官方定义:Scrapy是用于抓取网 ...

  3. 二、Item Pipeline和Spider-----基于scrapy取校花网的信息

    Item Pipeline 当Item在Spider中被收集之后,它将会被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item. 每个Item Pipeline ...

  4. 爬虫(猫眼电影+校花网+github+今日头条+拉钩)

    Requests+正则表达式爬取猫眼TOP100榜电影信息 MARK:将信息写入文件解决乱码方法,开启进程池秒爬. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  5. Python 爬虫 校花网

    爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 福利来了  校花网 ,首先说为什么要爬这个网站呢,第一这个网站简单爬起来容易,不会受到打击,第二呢 你懂得.... 1.第一步,需要下 ...

  6. python爬虫基础应用----爬取校花网视频

    一.爬虫简单介绍 爬虫是什么? 爬虫是首先使用模拟浏览器访问网站获取数据,然后通过解析过滤获得有价值的信息,最后保存到到自己库中的程序. 爬虫程序包括哪些模块? python中的爬虫程序主要包括,re ...

  7. Python之爬虫-校花网

    Python之爬虫-校花网 #!/usr/bin/env python # -*- coding:utf-8 -*- import re import requests # 拿到校花网主页的内容 re ...

  8. Python-爬取校花网视频(单线程和多线程版本)

    一.参考文章 python爬虫爬取校花网视频,单线程爬取 爬虫----爬取校花网视频,包含多线程版本 上述两篇文章都是对校花网视频的爬取,由于时间相隔很久了,校花网上的一些视频已经不存在了,因此上述文 ...

  9. day1之校花网小试牛刀

    一 利用生成器来完成爬去校花网视频 import requests import re import os import hashlib import time DOWLOAD_PATH=r'D:\D ...

随机推荐

  1. Mac osx 系统安装 eclipse

    https://jingyan.baidu.com/article/fea4511ad46a86f7bb9125e5.html

  2. 【sklearn】中文文档

    看不见的叫做远方 飞机票 分类   回归     聚类 降维   模型选择  预处理

  3. 服务器与本地的控制工具unison

    中文文档:https://wiki.archlinux.org/index.php/Unison_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 下载:http://un ...

  4. jQuery第七章插件的编写和使用

    1.本章目标 编写jquery插件 2.插件 也称为扩展,是一种按照一定的规范的应用程序接口编写出来的程序 插件的目标是给已有的一系列函数做一个封装,以便在其他的地方复用,方便维护和开发效率 3.jq ...

  5. EChart 文字大小调整 饼状图为例

    一.EChart图中的文字调整(以饼图为例) 二.源码: { "title": { "text": "", "subtext&qu ...

  6. elasticsearch-5.2.1在windows下的安装方法

    elasticsearch-5.2.1安装方法 1. 安装java 下载安装java jdk 1.8 以上 配置java环境变量 右击[我的电脑]---[属性]-----[高级系统设置]---[环境变 ...

  7. [转] vue之computed和watch

    计算属性 computed 侦听器or观察者 watch 一直以来对computed和watch一知半解,用的时候就迷迷糊糊的,今天仔细看了看文档,突然茅塞顿开,原来就是这么简单啊: computed ...

  8. spring security 简单应用

    Pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// ...

  9. xmind-postman

    参考: https://www.jianshu.com/p/61cfcb436ee4 https://www.jellythink.com/archives/category/tool-tutoria ...

  10. SQL反模式学习笔记6 支持可变属性【实体-属性-值】

    目标:支持可变属性 反模式:使用泛型属性表.这种设计成为实体-属性-值(EAV),也可叫做开放架构.名-值对. 优点:通过增加一张额外的表,可以有以下好处 (1)表中的列很少: (2)新增属性时,不需 ...