爬虫3-python爬取非结构化数据下载到本地
作者:互联网
urlretrieve方法
通过上节爬虫2,可以将结构化数据存入mysql等数据库,但脚本中还存在非结构化数据:
# print(content.xpath('//*[@dd_name="大图"]/img/@src').pop()) # 图片
python的urlretrieve方法可实现将远程数据下载本地:
#url 下载链接 #filename 指定保存本地路径文件名 #reporthook 回调函数,默认缺省 #data post到服务器的数据,默认缺省 urlretrieve(url, filename=None, reporthook=None, data=None)
实践
# coding=utf-8 import requests from lxml import etree # 1爬取网页信息 url = 'http://product.dangdang.com/29148702.html' headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/69.0.3497.81 Safari/537.36 Maxthon/5.3.8.2000 " } aa = requests.get(url, headers=headers) message = aa.content.decode('gbk') content = etree.HTML(message) # message是str格式,需要先转成HTML格式 # 1.2解析图片信息 print(content.xpath('//*[@dd_name="大图"]/img/@src').pop()) # 图片
#运行结果 http://img3m2.ddimg.cn/33/28/29148702-1_w_23.jpg
# 这时用urlretrieve来处理,可以下载到本地当前目录下 url_img=content.xpath('//*[@dd_name="大图"]/img/@src').pop() urllib.request.urlretrieve(url_img,"test_img.jpg")
标签:name,img,python,dd,爬虫,content,url,urlretrieve,取非 来源: https://www.cnblogs.com/foolangirl/p/14164631.html