爬虫 --- 获取图片并处理中文乱码

爬取网站图片

运用requests模块处理url并获取数据,etree中xpath方法解析页面标签,urllib模块urlretrieve保存图片,"iso-8859-1"处理中文乱码

#爬取图片并且处理乱码
import requests
from lxml import etree
#urlretrieve可以直接保存图片
from urllib import request
url = "http://pic.netbian.com/4kqiche/"
headers = {
     ‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36‘
}

response = requests.get(url=url,headers=headers)

page_text = response.text
tree = etree.HTML(page_text)
#xpath得到的data是个list
li_list = tree.xpath("//div[@class=‘slist‘]/ul/li")

for li in li_list:
    img_src = li.xpath(‘./a/img/@src‘)[0]
    new_src = url.split("/4")[0] + img_src
    print(new_src)
    img_name = li.xpath(‘./a/b/text()‘)[0]
    #通用型,解决中文乱码
    img_text = requests.get(url=new_src,headers=headers).text
    img_name = img_name.encode(‘iso-8859-1‘).decode(‘gbk‘) + ‘.jpg‘
    request.urlretrieve(url=new_src,filename = "./img/%s"%img_name)
    print(f"{img_name}爬取成功")

原文地址:https://www.cnblogs.com/CrazySheldon1/p/10815972.html

时间: 2024-10-17 13:48:51

爬虫 --- 获取图片并处理中文乱码的相关文章

Python爬虫获取图片并下载保存至本地的实例

今天小编就为大家分享一篇Python爬虫获取图片并下载保存在本地的实例,具有很好的参考价值,希望对大家有所帮助.一起来看看吧! 1.抓取煎蛋网上的图片 2.代码如下 * * * import urllib.request import os def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Geck

用pdfbox或icepdf转换PDF为图片时,中文乱码问题

最近在做一个将PDF文件转换成图片文件,然后传给前端展示的功能.刚开始时是用pdfbox,在本地windows环境下可以正常转换,图片没有任何问题.然后上了linux的测试环境,一样没问题.但是上了linux的生产环境之后,传出来的图片里面的中文内容就变成乱码了. 刚开始时以为时pdfBox本身有兼容性问题或者bug,因为在网上也查到资料说pdfBox转换有乱码.后来就换了icePdf,但是结果一样,本地windows没问题,linux测试环境没问题,但生产linux环境出问题了.经过一番网上查

通过TomCat获取html文件时中文乱码

前提:通过ajax获取json文件,在各编辑器中自带服务器,可以访问到文件内容,通过TomCat获取时,报错. 虽然是直接请求的html路径 ,但是还是会经过服务器端如tomcat来返回该html页面.而有的时候服务器的编码格式你也不好改变.  在网上找了很多.最后找到在web.xml里设置这些就可以解决html乱码问题. <jsp-config> <jsp-property-group> <description> Special property group for

python爬虫获取图片

import re import os import urllib #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url): page = urllib.request.urlopen(url) html = page.read() return html.decode('UTF-8') def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) i

struts2 action获取ajax提交数据中文乱码问题

有个人和我问题相同,地址在这: 解决方法: 在ajax的属性添加这句:contentType:'application/x-www-form-urlencoded; charset=utf-8',

解决爬虫中文乱码问题

今天群里有个人反映某个网址爬出来的网页源代码出现中文乱码,我研究了半天,终于找到了解决方法. 一开始,我是这样做的: import requests url = 'http://search.51job.com/jobsearch/search_result.php?fromJs=1&jobarea=090200%2C00&funtype=0000&industrytype=00&keyword=python&keywordtype=2&lang=c&

微信公众号开发--获取用户信息中文乱码的解决方案

在微信开发中我们会经常需要获取用户的信息. 微信给我们提供了获取用户信息的api, 地址为 https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 将其中的access_token替换为我们的access_token openid为关注用户的openid就可以获取到用户的信息了. 问题描述 不过获取到的数据却是中文乱码 而用Java程序获取的结果也是一样的

纯JS设置首页,增加收藏,获取URL參数,解决中文乱码

雪影工作室版权全部,转载请注明[http://blog.csdn.net/lina791211] 1.前言 纯Javascript 设置首页,增加收藏. 2.设置首页 // 设置为主页 function SetHome(obj, vrl) { try { obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl); } catch (e) { if (window.netscape) { try { netscape.s

纯JS设置首页,加入收藏,获取URL参数,解决中文乱码

雪影工作室版权所有,转载请注明[http://blog.csdn.net/lina791211] 1.前言 纯Javascript 设置首页,加入收藏. 2.设置首页 // 设置为主页 function SetHome(obj, vrl) { try { obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl); } catch (e) { if (window.netscape) { try { netscape.s