#这个文件的目的是抓取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了。