1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#这个文件的目的是抓取http://baike.baidu.com/view/2975166.htm这个百度百科上的所有图片,并且保存在电脑里。#
# -*- coding: cp936 -*-
import
os
from
bs4
import
BeautifulSoup
import
re
import
requests
url
=
"http://baike.baidu.com/view/2975166.htm"
#这个网站就是python开发者那个大白胖子的百度百科#
AAA
=
requests.get(url)
BBB
=
AAA.text
#BBB是目标网站的源代码文本,注意是文本!不然BS4不识别#
soup
=
BeautifulSoup(BBB,
"html.parser"
,from_encoding
=
"utf-8"
)
#这一步用BS4解析,他比正则表达式效果更好一点#
links
=
soup.find_all(
"img"
)
#定位所有以img开头,并且以/img结尾的语句#
i
=
1
for
each
in
links:
print
(
str
(i)
+
"is OK!"
)
pic
=
requests.get(each[
"src"
])
#注意!这里用的是each["src"],因为requests.get是询问一个网址,["src"]这是一个网址#
f
=
open
(
"e:/pythonaaa/a/"
+
str
(i)
+
".jpg"
,
"wb"
)
f.write(pic.content)
#保存图片的内容#
i
=
i
+
1
f.close()
|
这个程序在默认的idle 3.5里好用,在pycharm 启动3.5模式的状态下却不行,提示requests.get有问题。我很奇怪。单页面抓图基本就是这么一个模式,也基本上屡试不爽。只要换换要抓的网页url,然后起名的时候别起1,换一个数字,就OK了。
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1730554