单页面抓图并且保存的爬虫

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


你可能感兴趣的:(python,爬虫,源代码)