zoukankan      html  css  js  c++  java
  • 有人问我为什么学Python爬虫,那是因为我喜欢小姐姐

    百度性感美女壁纸了解一下,不为别的,是为了能更好的学习Python!我这样说你们信吗?

    只要看到有妹子的照片的网站,我就是想要批量下载一下!

    为什么要学网络爬虫
    (1) 学习网络爬虫,可以私人定制一个搜索引擎,更好地理解数据采集原理
    (2) 为大数据分析提供更多高质量的数据源,获取更多有价值的信息
    (3) 可以更深层次地理解搜索引擎爬虫的工作原理,从而可以更好地进行搜索引擎优化
    (4) 从就业角度来说,爬虫工程师也是紧缺的人才,学习网络爬虫对就业来说非常有利

    大互联网公司
    我原来在互联网公司,觉得获取数据so easy。只要你需要,好像各种数据都有,数据多到必须把一些不是很重要的的数据按期老化掉,不重要的数据不接受。

    传统行业和小公司
    离开大互联网公司后,接触的公司也比较多了,原来很多公司都没有数据,但是还是想搞大数据。我原来也是不理解,你没数据搞啥大数据吗?这不是让马儿跑,还不给马儿草么。
    但是,现在我不这样想了。在大数据的热潮下,大家都怕错过这个风口,所以必须参加进来;再大数据对传统行业的改变,大家也有目共睹,比如uber对打车的改变,余额宝对金融的改变等。所以我们需要想办法获取数据,而不是没有数据我们就不搞大数据了。

    数据来源
    一方面,使自己的产品互联网化,数据可以积累起来,但是路程漫长。
    另一方面,从互联网中获取数据。但是互联网中的数据又不开放,那么爬虫就派上用场了,而且还可以快速获取数据。

    专题主要内容
    爬虫技术交流

    数据分享

     

    给代码 给代码  好东西 必须分享 大家一起享受!

     1 这里给大家分享一套系统Python学习教程资源
     2 加一下我建的Python技术的学习扣裙;九三七六六七五零九,一起学习
     3 # !/usr/bin/env python
     4 # -*- coding:utf-8 -*-
     5 import requests
     6 import json
     7 # 定义一个请求函数,接收页面参数
     8 def get_page(page):
     9     # 把页面参数添加在url的字符串当中
    10     url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=美女&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&word=美女&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&cg=girl&pn={}&rn=30&gsm=1e'.format(
    11         page)
    12     # 请求网站,并且得到网站的响应
    13     response = requests.get(url)
    14     # 判断状态的状况
    15     if response.status_code == 200:
    16         # 返回文本文件信息
    17         return response.text
    18 def json_load(text):
    19     # 把文本文件处理成字典格式
    20     jsondict = json.loads(text)
    21     # 创建一个空的合集,作用是去重
    22     urlset = set()
    23     # 检查字典里面是否包含了data这个值
    24     if 'data' in jsondict.keys():
    25         # 从jsondict中取出data这个字典里面的东西,依次赋值给items!
    26         for items in jsondict.get('data'):
    27             # 异常处理,不是每一行数据都包含thumbURL这个数据的
    28             try:
    29                 urlset.add(items['thumbURL'])
    30             except:
    31                 pass
    32     return urlset
    33 def down_cont(url):
    34     response = requests.get(url)
    35     name = url.split(',')[-1].split('&')[0]
    36     if response.status_code == 200:
    37         # 表示,如果文件名字相同,就删除当前文件,然后再创建一个一样名字的文件
    38         with open('./images/%s.jpg' % name, 'wb') as f:
    39             print('正在下载当前图片: ' + url)
    40             # 以二进制的方法写入到本地
    41             f.write(response.content)
    42 def main():
    43     for p in range(5):
    44         print('正在下载 %s页 的图片' % p)
    45         page = p * 30
    46         text = get_page(page)
    47         urlset = json_load(text)
    48         for url in urlset:
    49             down_cont(url)
    50 if __name__ == '__main__':
    51     main()

    运行效果图

  • 相关阅读:
    Java(二)
    JS === 关于getElementsByClassName()
    JS === 简易放大镜
    JS === 拖拽盒子
    JS === 实现多个光标跟随事件
    JS === 实现回到顶部
    JS === 实现通过点击td 跳转相应的图片
    final、static关键字
    java面向对象——构造方法
    java面向对象——多态
  • 原文地址:https://www.cnblogs.com/ITbiancheng/p/13167880.html
Copyright © 2011-2022 走看看