Bantian_ 2016-11-09 06:38 采纳率: 0%
浏览 1351

关于python爬虫保存网页以及网页图片时的问题

第一次写爬虫,想保存网页到本地,然后网页中的图片想用本地的图片来替换,但是用BeautifulSoup发现无法修改网页的标签的属性,下面是尝试爬取百度网页的代码,但是保存到本地之后发现img中src属性没有发生改变
import urllib
import urllib2
from bs4 import BeautifulSoup
from HTMLParser import HTMLParser

def callBack(a,b,c):
per = 100.0*a*b/c
if per > 100:
per = 100
print "%.2f%%" % per

def getFileData(addr):
try:
splitPath = addr.split('/')
fName = splitPath.pop()
print fName
urllib.urlretrieve(addr,'d://'+fName)
except Exception as e:
print 'Cannot download:%s:%s' % (fName,e)
return fName

def getHtml(url,url0):
html = urllib2.urlopen(url).read()

bsObj = BeautifulSoup(html,"html.parser")
fName = getFileData(url0)
tag = bsObj.find(name="img");
tag.attrs['src'] = fName
f = open("d://baidu.html","w+")
f.write(html)
f.close()

url = "http://www.baidu.com"
url0 = "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" #图片网址
getHtml(url,url0)

  • 写回答

1条回答 默认 最新

  • oyljerry 2016-11-09 15:31
    关注

    分成两步来分析问题,第一步看你是否下载正确内容下来,然后第二步就是查找了节点没,替换是否出错

    评论

报告相同问题?

悬赏问题

  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法