博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3+selenium 爬取网站美女图片最简单版本
阅读量:5013 次
发布时间:2019-06-12

本文共 2583 字,大约阅读时间需要 8 分钟。

 

听说python是爬虫利器,用java几百行的代码,python十几行就搞定了,所以决定自己来感受一下python的方便,参考了很多文章,自己都忘记了,就不一一列举了

 

1.安装python,pycharm

  python怎么安装就不说了,网上一大堆 这是我的python版本,如果你是第一次安装,推荐安装我这个版本

 

 你当然可以选择用python自带的编辑器,不过我觉得pycharm真的是最好用的python编辑器了,推荐使用pycharm

 

 

 

 

2.安装selenium

  可以参考这一篇 https://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html

       我安装完selenium之后,在pycharm中 写 from selenium import webdriver 报错,但是用python自带的编辑器应该是可以使用selenium模块了,那么如何解决pycharm上面报错的问题呢,我的做法是

 

 安装好之后,form selenium import webdriver 就不报错了!  由此猜测估计是pycharm没有找到之前 pip下载下来的selenium模块。。

 

 

3.安装chromedriver

  网上搜索一下就可以了。有一点要说明一下,按照我的代码的写法是不需要配置chromedriver的环境变量的,因为我自己配置了环境变量,但是一直报错,没办法之下,只能退而求其次,网上找了一种把chromedriver写死的办法了

 

4.代码阶段

  额,准备工作就花了大半天了,现在可以进入激动人心的阶段了,爬取我们的美女图片了!

  现在附上我的代码截图 参考了很多文章,但是中间有很多报错啥的,经过了摸索修改,最终成功拿到了图片

 

成果截图:

 

 以下是代码:

import urllib.request import  os import time from  selenium import webdriver def getDriver():     chromedriver = 'D://chromedriver/chromedriver.exe'     os.environ["webdriver.chrome.driver"] = chromedriver     driver = webdriver.Chrome(chromedriver)     return driver def find_img(url):     driver = getDriver()     driver.get(url)     src = driver.find_elements_by_tag_name('img')     img_addrs = []     for pic in src:         filename = pic.get_attribute('src').split('.')[-1]         if filename == 'jpg':             img_addrs.append(pic.get_attribute('src'))             print(pic.get_attribute('src'))     driver.quit()     return img_addrs #保存图片 def save_imgs(img_addrss):     for each in img_addrss:         print('download images:%s'%each)         filename = each.split('/')[-1]         urllib.request.urlretrieve(each,filename)         print('保存了图片'+filename) #下载图片 #folder 文件夹前缀名 #pages 爬多少页的资源,默认只爬10页 def download_mm(folder='woman',pages=10):     folder+= str(time.time())     #创建文件夹     os.mkdir(folder)     #将脚本的工作环境移动到创建的文件夹下     os.chdir(folder)     page_num = int(get_page())     for i in range(pages):         page_num -= i         #建立新的爬虫页         page_url = 'http://jiandan.net/ooxx/'+'page-'+str(page_num-1)+'#comments'         print(page_url)         #爬完当前页面下的所有图片         img_addrs = find_img(page_url)         #将爬到的页面保存起来         save_imgs(img_addrs) def get_page():     driver = getDriver()     driver.get('http://jandan.net/ooxx/page-378#comments')     page_num = driver.find_element_by_class_name('current-comment-page').text     page_true_num = page_num[1:4]     print(page_true_num)     driver.quit()     return page_true_num if __name__ == '__main__':    download_mm() !!!!!!!!!!!!郑重提示!由于图片太香艳,而且程序运行过程中,会自动打开浏览器,所以。。如果你是上班族的话,请小心操作!!

转载于:https://www.cnblogs.com/changeCode/p/8031937.html

你可能感兴趣的文章
Sequence POJ - 3581 后缀数组
查看>>
Ring HDU - 2296 AC自动机+简单DP和恶心的方案输出
查看>>
HDU - 2222,HDU - 2896,HDU - 3065,ZOJ - 3430 AC自动机求文本串和模式串信息(模板题)
查看>>
Searching the String ZOJ - 3228 AC自动机查询升级版
查看>>
POJ 3376 Finding Palindromes EX-KMP+字典树
查看>>
Lost's revenge HDU - 3341 AC自动机+DP(需要学会如何优雅的压缩状态)
查看>>
Wireless Password HDU - 2825
查看>>
Resource Archiver HDU - 3247 AC自动机+BFS+状压
查看>>
DNA repair HDU - 2457 AC自动机+DP
查看>>
Walk Through Squares HDU - 4758 AC自动机+简单状压DP
查看>>
BCD Code ZOJ - 3494 AC自动机+数位DP
查看>>
Harry and magic string HDU - 5157 记录不相交的回文串对数
查看>>
Substring UVA - 11468 AC自动机+概率DP
查看>>
Victor and String HDU - 5421 双向回文树
查看>>
I Love Palindrome String HDU - 6599 回文树+hash
查看>>
The Preliminary Contest for ICPC Asia Xuzhou 2019 G. Colorful String 回文树
查看>>
Interesting HDU - 5785 回文树
查看>>
多个串的最长公共子串 SPOJ - LCS2 后缀自动机
查看>>
长度为x的本质不同的串的出现次数 SPOJ - NSUBSTR 后缀自动机简单应用
查看>>
Palindrome Partition CodeForces - 932G 回文树+DP+(回文后缀的等差性质)
查看>>