Github上有一个关于下载百度贴吧里的美女图片的练习题,最近正好在学爬虫相关的知识,拿来练练手。
这是我的目标网页。
最开始的时候我在网上找到一个类似的案例,代码如下图:
稍作修改,运行之后得到七十多张图片,结果一看接近一半是用户头像~
方法太过简单粗暴,决定使用美丽的汤——BeautifulSoup重写一下(这汤真香)
观察了一下页面的源代码,发现所有用户发的图片都是class=“BDE_Image”
的,这样就可以区分头像和帖子里的图片了,随便写写的代码:
from urllib.request import urlretrieve
from urllib.request import urlopen
from bs4 import BeautifulSoup
def get_image(url):
html = urlopen(url).read().decode('utf-8')
bsObj = BeautifulSoup(html, "lxml")
myimg = bsObj.find_all('img', class_='BDE_Image')
num = 1
for img in myimg:
link = img.get('src')
pic_name = str(num) + '.jpg'
urlretrieve(link, pic_name)
print("Success!" + pic_name)
num += 1
return None
url = 'http://tieba.baidu.com/p/2166231880'
get_image(url)
这次得到了49张图片
代码上传到了我的Github
交流群:435414286
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。