极速下载站 —— 提供优质软件下载服务,感受全新的极速下载体验!

最近更新 | 软件专题 | 软件分类 | 软件排行

您的位置:极速下载站资讯首页系统教程系统资讯 → Python爬虫抓取用并人工智能分析绝世美颜小姐姐,\"硬盘已满\"

Python爬虫抓取用并人工智能分析绝世美颜小姐姐,\"硬盘已满\"

时间:2019-07-31 13:59:41  作者:johnnyl  浏览量:37

很多朋友都反应学 python 语言太枯燥,学不进去,其实学语言最好的方法是自己用所学的语言做项目,在项目中学习语言的用法。今天给大家带来的项目是用 python3 爬取煎蛋网妹子的图片。

这个项目用了 requests + selenium + beautifulsoup 库对网站的图片进行抓取。接下来我就,给大家一步步解析一下,怎么用 python 爬虫爬取图片并下载的。

爬取结果

图:Python爬虫抓取用并人工智能分析绝世美颜小姐姐

Python爬虫抓取用并人工智能分析绝世美颜小姐姐,\"硬盘已满\"图一

以上就是爬取的结果,通过运行 meizi.py 代码,就可以把图片保存在我指定的目录下,如果没有此目录,就用程序自动创建目录,爬取的所有图片都保存在此目录下。

程序构造

图:Python爬虫抓取用并人工智能分析绝世美颜小姐姐

Python爬虫抓取用并人工智能分析绝世美颜小姐姐,\"硬盘已满\"图二

程序主要是由 6 个函数组成:

get_html() :利用 webdriver 来请求对应的网站。

get_page():解析面跳转地址。

mkdir():判断目录是否存在,不存在就创建一个。

get_pic():提取图片链接。

download():通过图片链接下载保存。

main():程序执行的主函数。

程序思路

目标网站链接进行分析,找出目标网站链接的规律。

从目标网站里面提取图片链接。

将图片下载并保存在目录中。

源代码分析

我们通过f12调试页面,看到图片的链接,发现此链接并没有在源代码中,我们推测,图片应该是通过 js 加载的,对于需要 js 才能加载出来的网站,我们就可以利用 selenium 的自动化测试请求库来进行加载。利用 selenium 请求可以模拟真实浏览器访问。

1browser = webdriver.Chrome()

2wait = WebDriverWait(browser,3)

利用 selenium 请求网页需要下载 chrome 驱动放在 python 安装目录下。

分页链接分析

1def get_page():

2 base_url = \'http://jandan.net/ooxx/\' #第一次进入的原始地址

3 soup = BeautifulSoup(get_html(base_url),\'lxml\') #解析原始地址

4 current_pages=soup.select(\'.cp-pagenavi .current-comment-page\')[0].get_text()[1:-1] #取出当前页面字段

5 urllist = []

6 for page in range(1,int(current_pages)+1):

7 real_url=base_url+\'page-\'+str(page)+\'#comments\' #拼出分页地址

8 urllist.append(real_url)

9 return urllist #返回所有分页地址列表

原始链接base_url = \'http://jandan.net/ooxx/\',当我们点击下一页时,发现在原始链接的后面加了一段「page-52#comments」。

其中加的数字,就是表示现在所在的页数,通过 BeautifulSoup 库对页面进行解析,用选择器提取表示页数的字段「current-comment-page」,加入到原始链接中进行拼接。

创建目录

1def get_pic():

2 for url in get_page():

3 mkdir()

4 html=get_html(url)

5 soup=BeautifulSoup(html,\'lxml\')

6 allimgs=soup.select(\'div .text p img\')

7 allimgs=re.findall(\'src=\"(.*?)\"\',str(allimgs))

8 download(allimgs)

9 print(\"下载完毕!\")

用 os.path.exists 方法来个判断,如果不存在此目录就创建一个,如果存在就忽略。

提取图片

1def get_pic():

2 for url in get_page():

3 mkdir()

4 html=get_html(url)

5 soup=BeautifulSoup(html,\'lxml\')

6 allimgs=soup.select(\'div .text p img\')

7 allimgs=re.findall(\'src=\"(.*?)\"\',str(allimgs))

12下一页>

相关资讯

相关软件