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 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建