精华内容
下载资源
问答
  • Python爬取图片并保存

    2020-09-30 14:37:08
    import requests ...url = "https://www.baidu.com" #图片地址 r = requests.get(url,stream=True) with open("pic//"+str(m)+".jpg", "wb") as fd: for chunk in r.iter_content(): fd.write(chunk) print(m)
    import requests
    
    m=1
    url = "https://www.baidu.com" #图片地址
    r = requests.get(url,stream=True)
    with open("pic//"+str(m)+".jpg", "wb") as fd:
        for chunk in r.iter_content():
            fd.write(chunk)
        print(m)
        

     

    展开全文
  • 前言文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者: Woo_homePS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取...

    前言

    文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

    作者: Woo_home

    PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

    http://note.youdao.co-m/noteshare?id=3054cce4add8a909e784ad934f956cef

    abb7f033ad9bf6a0eac18eb816fe35d9.png

    安装库

    该示例使用到的库有requests、lxml、re,其中re是python自带的,所以无需安装,只需安装requests和lxml库即可

    安装命令如下:

    pip install requestspip install lxml

    分析网页数据

    打开一个视频网页如下:

    db678934eacbe35fc5f6188c27d1db60.png

    右键进行开发者模式,点击一个视频右键,点击Open in new tab

    0a2ea76505573435ac4f878da04fd40f.png

    ok,可以打开

    e9b897d457330e09df0b1938e8d90989.png

    代码实现

    先导入要使用的库

    import requestsfrom lxml import etreeimport re

    拿到网站的url

    4e396858e5bf6730b380e821c5cf0838.png

    获取User-Agent

    71fae56c64e52a4ced3fa0b170b8a348.png

    发起请求

    3798a6af9918533752210d52f85e4eec.png

    筛选数据

    b615702502b04f53b0e806f9882393c5.png

    遍历数据

    7322a62060b02267bc56f3092d090f0b.png

    匹配数据

    86ddbb00e18a33ca6470a77c7bb2f72b.png

    保存数据

    a9b265fc936dcaf59176f0a0771460a0.png

    下载的视频已经保存在文件夹中

    30808b9c582397c2e60f429ae65219df.png

    .

    展开全文
  • 先看看结果吧,去bilibili上拿到的图片=-=第一步,导入模块import requestsfrom bs4 import BeautifulSouprequests用来请求html页面,BeautifulSoup用来解析html第二步,获取目标html页面hd = {'user-agent': '...

    先看看结果吧,去bilibili上拿到的图片=-=

    53989ce5805cec2132995bc75118dc85.png

    第一步,导入模块

    import requests

    from bs4 import BeautifulSoup

    requests用来请求html页面,BeautifulSoup用来解析html

    第二步,获取目标html页面

    hd = {'user-agent': 'chrome/10'} # 伪装自己是个(chrome)浏览器=-=

    def download_all_html():

    try:

    url = 'https://www.bilibili.com/' # 将要爬取网站的地址

    request = requests.get(url, timeout=30, headers=hd) # 获取改网站的信息

    request.raise_for_status() # 判断状态码是否为200,!=200显然爬取失败

    request.encoding = request.apparent_encoding # 设置编码格式

    return request.text # 返回html页面

    except:

    return ''

    第三步,分析网站html构造

    1、显示网站html代码

    b6544f9e17da170b484eb4ccee4647ad.png

    2、找到图片位置

    9a3ae47c779289060189658e8eef6ddf.png

    3、分析

    d52ef2851dc6dbd79be37cc59620ccb7.png

    fa390f7cb31e7aa2c5dcc5f0c0dfaa2e.png

    第四步,直接上代码注释够详细=-=

    def parse_single_html(html):

    soup = BeautifulSoup(html, 'html.parser') # 解析html,可以单独去了解一下他的使用

    divs = soup.find_all('div', class_='card-pic') # 获取满足条件的div,find_all(所有)

    for div in divs: # 瞒住条件的div有多个,我们单独获取

    p = div.find('p') # 有源代码可知,每个div下都有一个p标签,存储图片的title,获取p标签

    if p == None:

    continue

    title = p['title'] # 获取p标签中的title属性,用来做图片的名称

    img = div.find('img')['src'] # 获取图片的地址

    if img[0:6] != 'https:': # 根据源代码发现,有的地址缺少"https:"前缀

    img = 'https:' + img # 如果缺少,我们给他添上就行啦,都据情况而定

    response = requests.get(img) # get方法得到图片地址(有的是post、put)基本是get

    with open('./Img/{}.png'.format(title), 'wb') as f: # 创建用来保存图片的.png文件

    f.write(response.content) # 注意,'wb'中的b 必不可少!!

    parse_single_html(download_all_html()) # 最后调用我们写的两个函数就行啦,

    f26bc04e67b999c3fb2bfb550b663636.png

    查看结果

    a7ce14c89e3676d7d103a6549179e9fa.png

    到此这篇关于Python爬取网站图片并保存的实现示例的文章就介绍到这了,更多相关Python爬取图片保存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    展开全文
  • 但是授之于鱼不如授之于渔,今天的分享一份Python代码,爬取网页html内容,保存到PDF后自(da)己(jia)看。 2.需求 爬取慕课网《面试官系统精讲Java源码及大厂真题》专栏的内容,以PDF形式保存到本地。 3.分析 这是...

    bd3ca2f21d03815bf45924aa04f84207.png

    1.前言

    我在今天还能更文,是不是很单身狗,可我也想尝尝这爱情的苦。越是在孤独的时候越是要战胜它,所以今天去买了一份慕课专栏,用买买买来解决孤独。

    e869af6541dda8c811b276272e04255d.png

    作为一个拥有几个、几十个、还是几百个粉丝的群主,怎么能忘了在苦海挣扎的你们呢?

    这个专栏在网上已经是售出了7000+份,在这个小众群体中,这个销量已经是很高了,是47个专栏中最高的,可见写的确实很不错。

    ccc775be33aee6454ecf6aec587c2f0a.png

    一线城市公司面试都会喜欢问一些源码的内容,尽管在工作上用的很少,不妨碍它存在,尝尝遭遇“面试造火箭,工作拧螺丝”的情况。但是我们要知道,即便是拧螺丝也是火箭的螺丝。

    面试问的比较深入的问题,并不是为了难为你,而是看看你是否对一门语言有深层次的把握。

    好比你熟悉了古今中外的历史,你会发现,这个世界的规律从来没变过。

    废话这么多,那么说说今天的礼物吧。就是上面的这份专栏,我已经把内容转存成PDF。但是授之于鱼不如授之于渔,今天的分享一份Python代码,爬取网页html内容,保存到PDF后自(da)己(jia)看。

    2.需求

    爬取慕课网《面试官系统精讲Java源码及大厂真题》专栏的内容,以PDF形式保存到本地。

    3.分析

    1. 这是付费内容,所以肯定会判断当前请求是否合法,所以爬虫中必须带着cookice的内容,让服务器知道这是你,否则会拒绝你的请求。

    2. 使用wkhtmltopdf 工具,需要到官网下载安装本地后可以用。

    3. 工具是将HTML页面转成PDF,第一个图是网页的内容,左边的目录是灵活的,但是下载到PDF中就没有效果,还不好看,所以直接把目录拿掉,达到效果是第二个。

      dc1d3d98763f8f4b2bf1fba4f31bf35c.png

      cea43fa33e76915db3f4b4f0b659cd1a.png

    4. 代码中 html_template 就是拼装的模板,删除了不需要的内容,所以你需要知道一点前端的内容。

    5. 剩下的就是爬虫常用的几个库 requests ,BeautifulSoupjson

    6. 源码贴在下面了仅供参考使用。没有使用 try except,生产中需要不住异常。

    import osimport requestsfrom bs4 import BeautifulSoupimport jsonimport pdfkithtml_template = """                      href="http://static.mukewang.com/static/css/??base.css,common/common-less.css?t=2.5,column/zhuanlanChapter-less.css?t=2.5,course/inc/course_tipoff-less.css?t=2.5?v=201911221436"          type="text/css"/>
    {content}
    """headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', 'Cookie': 'sajssdk_2015_cross_new_user=1; Hm_lvt_f0cfcccd7b1393990c78efdeebff3968=1589958823; IMCDNS=0; imooc_isnew=1; imooc_isnew_ct=1589958822; imooc_uuid=79ba42d1-dba0-4c15-bcb4-59791dc988a9; last_login_username=liudrain%40163.com; adv_#globalTopBanner_2911=1589958872594; PSEID=18bab2b6e29e505149c9bfed416f7aa4; loginstate=1; apsid=AwNjIwNzRjYjg4YmZkYzVmZWM1YWIzYTlhOTM4MTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzE5NjgyOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaXVkcmFpbkAxNjMuY29tAAAAAAAAAAAAAAAAAAAAADBhZjliMmRkYmUyZjJiM2FhNmExNmY3Mjc5YWMwNDI4LNnEXizZxF4%3DZj; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%223196829%22%2C%22first_id%22%3A%2217230ee4b1167c-07bcf017e968db-376b4502-2073600-17230ee4b1298f%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E5%BC%95%E8%8D%90%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Funitradeprod.alipay.com%2Facq%2FcashierReturn.htm%3Fsign%3DK1iSL1GPeGbSvmIcCfvJFOlQnC344vkFZfgRwLbnwkpv%25252FwlaJRev1UgxnMKwijyz5F%25252FGw26TwRM%25253D%26outTradeNo%3D2005201517348565407335%26pid%3D20888216223418%22%7D%2C%22%24device_id%22%3A%2217230ee4b1167c-07bcf017e968db-376b4502-2073600-17230ee4b1298f%22%7D; addQunTip47=true; Hm_lpvt_f0cfcccd7b1393990c78efdeebff3968=1589959225; cvde=5ec4d8a670b63-39', 'Host': 'www.imooc.com'}# 通过url获取到html保存到本地def parse_url_to_html(url, name): response = requests.get(url, headers=headers, timeout=30) soup = BeautifulSoup(response.content, "html.parser") body = soup.find_all(class_="article-con")[0] html = str(body) html = html_template.format(content=html) html = html.replace("//img", "http://img") html = html.replace("/static/img", "http://www.imooc.com/static/img") html = html.replace("data-original", "src") # html = html.replace('''''', ''' style="height:60%"''') with open("imooc/" + name, 'w', encoding="utf-8") as f: f.write(str(html)) return name# html 转成pdfdef html_to_pdf(htmlname, pdfname): options = { 'page-size': 'Letter', 'margin-top': '0', 'margin-right': '0', 'margin-bottom': '0', 'margin-left': '0', 'encoding': "UTF-8", 'no-outline': None, 'custom-header': [ ('Accept-Encoding', 'gzip') ], 'outline-depth': 10, } config = pdfkit.configuration(wkhtmltopdf='d:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe') pdfkit.from_file("imooc/" + htmlname, "imooc/" + pdfname, configuration=config) # pdfkit.from_url(url, "imooc/686.pdf", configuration=config)def get_menu_url(url): response = requests.get(url, headers=headers) jsonobject = json.loads(response.text) list = jsonobject['data']['list'] for i in list: urllist = i['list'] for n in urllist: title = str(n['title']) title = title.replace("?", "") title = title.replace("?", "") title = title.replace("*", "") print(title) # restful 链接 47是课程的id article 后面是文章的id url = "http://www.imooc.com/read/47/article/" + (n['url'][-3:]) name = parse_url_to_html(url, title + ".html") html_to_pdf(name, title + ".pdf")            os.remove("imooc/" + name)            if __name__ == '__main__': # url = "http://www.imooc.com/read/43/article/686" # 获取慕课网上的专栏的目录的list,其实需要知道课程id即可 url = "http://www.imooc.com/read/cataloglist?column_id=47"    get_menu_url(url)

    4.总结

    你可以用生活中来验证所学的内容,生活处处可以python。

    总体来讲,作为一个工具,python是个不错的万能胶。这样看起来,是不是比网页上爽多了,还可以分享呢。

    9a08b6dc80cc5922a1d0f956c8207dd3.png

    上面的相关资料我已经分享在群里,谢谢大家的支持。

    最后祝大家520快乐,能早日脱单。

    展开全文
  • 解决了以下问题: Python下载的图片不显示 下载图片只有一张 设置保存的位置 使用with f函数 效果如下: 抓取到的图片 完整代码 # coding=utf-8 import requests import urllib2 import os from lxml import etree ...
  • python爬取图片并保存到本地

    千次阅读 2018-12-18 14:27:19
    Python爬取图片(你懂得) requests与Bs4 这两个模块是本文使用的主要模块,requests可以获取连接,bs4全名BeautifulSoup,是编写python爬虫常用库之一,主要用来解析html标签。这两个模块可以通过cmd终端下载 pip ...
  • x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'} url=[]#XHR文件网址 web=[]#照片网址 for i in range(20):#这里可以改爬取“页数”,每页是30张图 url.append('...
  • Python爬取图片并保存本地

    千次阅读 2020-03-04 12:18:26
    好久没用requests写爬虫了,因为是国内的网站,展示没有使用代理IP,而且爬取的数据不多。 1、第一步将要爬取的网页链接爬取下来。这句话有些矛盾。 url=‘http://www.supe.com.cn/index.php/Project/index’,就这...
  • 这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章。各种开源软件、各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作为一名老司机...
  • 模拟浏览器请求获取网站数据在原始数据中提取我们想要的数据 数据筛选将筛选完成的数据做保存完成一个爬虫需要哪些工具Python3.6pycharm 专业版目标网站图片之家https://www.tupianzj.com/爬虫代码导入工...
  • 环境:python3.7+jupyter notbook其他python3.7环境也行(比如pycharm)1、使用正则表达式爬取百度图片首先打开百度图片,会看到这个界面然后鼠标右击查看网页源代码,一直往下滑,可以看到这个...
  • /usr/bin/evn python # -*- coding: utf-8 -*- import os import time import requests from docx import Document from docx.shared import Inches class MyObject(object): def __init__(self): self.doc = ...
  • 报错的内容: (unicode error) ‘unicodeescape’ codec can’t decode bytes...后来发现是我在写爬取图片保存路径时, 错误的:getSogouImag(‘壁纸’,20,‘C:\Users\83543\Desktop\images’) 正确的1:getSogo...
  • 学习Python也有一段时间了,各种理论知识大体上也算略知一二了,今天就进入实战演练:通过Python来编写一个拉勾网薪资调查的小爬虫。第一步:分析网站的请求过程我们在查看拉勾网上的招聘信息的时候,搜索Python,...
  • 我叫杰瑞,是一名编程高手,经常发表一些有趣的编程...“虫如其名”,爬虫不是一种我们熟知的无脊椎动物中的节肢动物,而是一类计算器程序或脚本,该程序能够自动爬取万维网中的信息,能够按照一定的要求加工这...
  • 本帖最后由 jellyliao 于 ...我是一个三分钟热度的人,要么想做就做,要么就不做,前几天想要爬取资料,就开始找资料,python大学的时候学了点基础,现在早就忘了,大学学的软件工程....现在嘛,因为没做研发岗的工...
  • 上一讲我们说了如何把网页的数据通过分析后存储到数据库,我们这次讲如何将网页上的图片提取下载到本地。思路如下:我们本次要爬取的是昵图网首页的图片。1、首先分析我们要爬取的网页的代码结构,每个网页的代码...
  • 上一讲我们讲到了从昵图网的首页下载图片到本地,但是我们发现首页上面的大...首先,我们整理下思路,在首页这里爬取图片的思路如下:1、通过首页的地址获取首页的源代码2、分析源代码中图片的链接地址,根据这个...
  • Python爬取图片项目介绍第三方库:requests,fake_useragent(产生随机请求头进行访问)代码实现:import requestsfrom fake_useragent import UserAgentfilename=0class photo_spider(object):def __init__(self):self...
  • “images/”+kpartname) if not os.path.isdir(new_path): os.makedirs(new_path) print(“创建文件夹:”+new_path) #下载图片 def downLoadImg(url,new_path): path=sys.path[0] kpath = os.path.join(path, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 644
精华内容 257
关键字:

python爬取图片并保存

python 订阅