精华内容
下载资源
问答
  • 这次给大家带来jsoup怎么把爬取网站的图片保存本地,jsoup把爬取网站的图片保存本地的注意事项有哪些,下面就是实战案例,一起来看一下。因为项目需求,需要车辆品牌信息和车系信息,昨天用一天时间研究了jsoup...

    这次给大家带来jsoup怎么把爬取网站的图片保存到本地,jsoup把爬取网站的图片保存到本地的注意事项有哪些,下面就是实战案例,一起来看一下。

    因为项目需求,需要车辆品牌信息和车系信息,昨天用一天时间研究了jsoup爬取网站信息。项目是用maven+spring+springmvc+mybatis写的。

    jsoup开发指南地址

    这个是需要爬取网站的地址 https://car.autohome.com.cn/zhaoche/pinpai/

    1.首先在pom.xml中添加依赖

    因为需要把图片保存到本地所以又添加了commons-net包

    org.jsoup

    jsoup

    1.10.3

    commons-net

    commons-net

    3.3

    2.爬虫代码的实现@Controller

    @RequestMapping("/car/")

    public class CarController {

    //图片保存路径

    private static final String saveImgPath="C://imgs";

    /**

    * @Title: insert 品牌名称 和图片爬取和添加

    * @Description:

    * @param @throws IOException

    * @return void

    * @throws

    * @date 2018年1月29日 下午4:42:57

    */

    @RequestMapping("add")

    public void insert() throws IOException {

    //定义想要爬取数据的地址

    String url = "https://car.autohome.com.cn/zhaoche/pinpai/";

    //获取网页文本

    Document doc = Jsoup.connect(url).get();

    //根据类名获取文本内容

    Elements elementsByClass = doc.getElementsByClass("uibox-con");

    //遍历类的集合

    for (Element element : elementsByClass) {

    //获取类的子标签数量

    int childNodeSize_1 = element.childNodeSize();

    //循环获取子标签内的内容

    for (int i = 0; i < childNodeSize_1; i++) {

    //获取车标图片地址

    String tupian = element.child(i).child(0).child(0).child(0).child(0).attr("src");

    //获取品牌名称

    String pinpai = element.child(i).child(0).child(1).text();

    //输出获取内容看是否正确

    System.out.println("车标图片地址-----------" + tupian);

    System.out.println("品牌-----------" + pinpai);

    System.out.println();

    //把车标图片保存到本地

    String tupian_1 = "http:"+tupian;

    //连接url

    URL url1 = new URL(tupian_1);

    URLConnection uri=url1.openConnection();

    //获取数据流

    InputStream is=uri.getInputStream();

    //获取后缀名

    String imageName = tupian.substring(tupian.lastIndexOf("/") + 1,tupian.length());

    //写入数据流

    OutputStream os = new FileOutputStream(new File(saveImgPath, imageName));

    byte[] buf = new byte[1024];

    int p=0;

    while((p=is.read(buf))!=-1){

    os.write(buf, 0, p);

    }

    /**

    * 因为每个品牌下有多个合资工厂

    * 比如一汽大众和上海大众还有进口大众

    * 所有需要循环获取合资工厂名称和旗下

    * 车系

    */

    //获取车系数量

    int childNodeSize_2 = element.child(i).child(1).child(0).childNodeSize();

    /**

    * 获取标签下子标签数量

    * 如果等于1则没有其他合资工厂

    */

    int childNodeSize_3 = element.child(i).child(1).childNodeSize();

    if(childNodeSize_3==1){

    //循环获取车系信息

    for (int j = 0; j < childNodeSize_2; j++) {

    String chexi = element.child(i).child(1).child(0).child(j).child(0).child(0).text();

    System.out.println("车系-----------" + chexi);

    }

    }else{

    /**

    * 如果childNodeSize_3大于1

    * 则有多个合资工厂

    */

    //分别获取各个合资工厂旗下车系

    for (int j = 0; j < childNodeSize_3; j++) {

    int childNodeSize_4 = element.child(i).child(1).child(j).childNodeSize();

    /**

    * 如果j是单数则是合资工厂名称

    * 否则是车系信息

    */

    int k = j%2;

    if(k==0){

    //获取合资工厂信息

    String hezipinpai = element.child(i).child(1).child(j).child(0).text();

    System.out.println("合资企业名称-----------" + hezipinpai);

    }else{

    //int childNodeSize_5 = element.child(i).child(1).child(0).childNodeSize();

    //循环获取合资工厂车系信息

    for(int l = 0; l < childNodeSize_4; l++){

    String chexi = element.child(i).child(1).child(j).child(l).child(0).child(0).text();

    System.out.println("车系-----------" + chexi);

    }

    }

    }

    }

    System.out.println("************************");

    System.out.println("************************");

    }

    }

    }

    }

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    展开全文
  • <p>1、前段时间我跟着教程用阿里云服务器搭建了wordpress网站来写我的日记,现在服务器要到期了,我想把写的日记保存本地电脑上,...怎么把网站内容转移到新服务器上。。。  </p>
  • 现在我需要完成的是将刮取的数据保存本地PC或数据库。有没有一种方法可以使用php来完成这项工作?强制将这些内容一次下载到我的电脑或数据库。如果您觉得有必要,请上传我的密码。先谢谢你...编辑:这是我的代码.....

    我目前使用一个简单的html dom来抓取一个网站,我所搜索的部分内容是:图片,链接和文本。现在我需要完成的是将刮取的数据保存到本地PC或数据库。有没有一种方法可以使用php来完成这项工作?

    强制将这些内容一次下载到我的电脑或数据库。

    如果您觉得有必要,请上传我的密码。

    先谢谢你...

    编辑:这是我的代码...

    include("../dom/simple_html_dom.php");

    if (isset($_POST['submit']))

    {

    if ($_POST['word1'] != ""){

    //posts of the search query

    $word1 = $_POST['word1'];

    $items = array('url'=>'https://www.example.com/mobile-phones/?q='.str_replace(' ','+',$word1)."/",'img'=>'.image-wrapper img','brand'=>'h2.title span.brand','name'=>'h2.title span.name','price'=>'span.price-box','link'=>'section.products a.link');

    $site = new simple_html_dom();

    $currentImg = '';

    $currentItemBrand = '';

    $currentItemName = '';

    $currentLink = '';

    $currentPrice = '';

    $counter = 0;

    $number = -1;

    $site->load_file($items['url']);

    $currentImg = array();

    $currentItemBrand = $site->find($items["brand"]);

    $currentItemName = $site->find($items["name"]);

    $currentLink = $site->find($items["link"]);

    $currentPrice = $site->find($items["price"]);

    foreach($site->find($items["img"]) as $element) {

    $counter2++;

    //initializing array objects

    if($counter2 % 2 == 0 && $counter2 < 42)

    {

    $number++;

    $currentImg = $element[$number]->src;

    $currentItemName[$number]->plaintext;

    $currentItemBrand2[$number]->plaintext;

    $currentLink[$number]->href;

    $currentPrice[$number]->plaintext;

    }

    }

    // My Database Code

    $insertSQL = "INSERT INTO items (img, name, link, price, brand) VALUES ('$currentImg', '$currentItemName', '$currentItemLink','$currentPrice','$currentItemBrand')";

    mysqli_select_db($elecom_connect,$database_elecom_connect);

    $Result1 = mysqli_query($elecom_connect,$insertSQL) or die(mysqli_error($elecom_connect));

    exit();

    }

    }

    }

    ?>我用这个代码的问题是它只保存图像的引用到数据库......我想要的是下载所有文件数组,然后将它们存储在我的数据库中....我有点困惑于如何做到....将感谢您的建议或代码块。

    展开全文
  • 易企秀的素材很多,为了防止被盗用,他们网站平台的素材和元素基本都是防盗链的或者是加密的形式,这样让一些想要图片的会员十分尴尬。 下面教你怎么保存易企秀的图片?不需要VIP奥! 1.先发布易企秀模板,然后找到...

    易企秀的素材很多,为了防止被盗用,他们网站平台的素材和元素基本都是防盗链的或者是加密的形式,这样让一些想要图片的会员十分尴尬。

    下面教你怎么保存易企秀的图片?不需要VIP奥!

    1.先发布易企秀模板,然后找到你需要保存的图片的位置。

    右键复制图片地址。如图:
    在这里插入图片描述
    怎么保存易企秀的图片

    复制出来的图片地址一般是.webp格式,这样的图片修改后缀为png或者用ps都是无法正常打开的。

    那么如何获取真实的图片呢?接着往下看!

    其实我们只需要将图片的网址修改下并且加上.png即可:

    原链接:http://res1.eqh5.com/Fikm51DNKkYa-Ao0Qerho2fdIPUa?imageMogr2/auto-orient/thumbnail/191x186%3E/format/webp

    修改后的链接:http://res1.eqh5.com/Fikm51DNKkYa-Ao0Qerho2fdIPUa?imageMogr2/auto-orient/thumbnail.png

    就是将网址thumbnail后面的全部换成.png就会显示原图!

    怎么保存易企秀的图片?

    修改后直接打开即可下载成功!这样我们就可以将易企秀的元素图片获取到我们自己图片上面使用了…是不是很简单奥!

    大部分素材网站的图片都会进行加密或者是防盗链,其实原理都差不多,只要找对图片生成的原理,即可免费下载图片进行使用.

    当然了,平台规则也会进行修改和升级,如果你不会处理或者是想获取其他平台的网站素材,可以联系我帮你解决技术问题!!!

    感谢您的支持和鼓励!

    伦享网– 一个收集和分享互联网项目,VIP教程,学习资料的优质资源分享平台。

    希望能通过自己的一技之长来改变大家工作效率,喜欢收集优质资源是敝人的爱好,本着不忘初心的原则做力所能及的分享。
    亲们请关注下我,我会更加努力的生产优质内容!

    展开全文
  • //主要是这句,怎么把路径变量和随机生成的uuid(文件名)组合起来变成保存文件的路径??? //建立一个新的文件 FileOutputStream fos = new FileOutputStream(new File(newImageName)); ...
  • 在开发APP时,需要使用到即时通讯功能。...好的,下面我们看看网易云信api消息抄送功能怎么开发并且将聊天室消息保存本地数据库中。想了解更多的开发功能。在网站中直接搜索[网易云信]关键字,...

    在开发APP时,需要使用到即时通讯功能。这里选择了网易云信。我们要将开发消息抄送功能,并且将聊天室的消息保存到本地的数据库中。其他的比如P2P聊天消息,群组聊天消息,群组操作,好友操作等消息,我这里就不多赘述了。其实,代码都差不多,只要把字段对应上即可。好的,下面我们看看网易云信api消息抄送功能怎么开发并且将聊天室消息保存到本地数据库中。想了解更多的开发功能。在网站中直接搜索[网易云信]关键字,即可找到相应的文章。

    第一步:我们要在网易云信的管理后台开通消息推送的功能。

    开启的步骤:登录后台 -> 应用 -> 服务管理 -> 服务配置 -> 消息抄送配置 -> 在消息抄送地址的地方填写你的接口地址。

    第二步:在接口文件里面编写接收的代码。

    通过查看网易云信的手册我们可以发现,它是通过http发送,消息的内容在request body里面。所以,我们这里要抓到请求过来的数据,

    然后写入到数据库中。代码如下:/*

    * 云信消息抄送接口

    */

    public function receiveMsg()

    {

    $body = @file_get_contents('php://input');

    $data = json_decode($body,true);         // 值得注意 true

    //file_put_contents('/debug.txt',$body); // 测试有没有接收到数据,很实用哦

    if($data){

    $d['eventType']       = $data['eventType'];

    $d['attach']          = $data['attach'];

    $d['ext']             = $data['ext'];

    $d['fromAccount']     = $data['fromAccount'];

    $d['fromAvator']      = $data['fromAvator'];

    $d['fromClientType']  = $data['fromClientType'];

    $d['fromExt']         = $data['fromExt'];

    $d['fromNick']        = $data['fromNick'];

    $d['msgTimestamp']    = $data['msgTimestamp'];

    $d['msgType']         = $data['msgType'];

    $d['msgidClient']     = $data['msgidClient'];

    $d['resendFlag']      = $data['resendFlag'];

    $d['roleInfoTimetag'] = $data['roleInfoTimetag'];

    $d['roomId']          = $data['roomId'];

    $d['antispam']        = $data['antispam'];

    $info = M('receivemsg')->add($d);

    if($info){

    echo 200;   // 要有返回值 200 没有200 云信会在此的发送 具体看说明文档

    }

    }else{

    echo 500;

    }

    }

    上面的方法就可以接收到云信服务器发送给我们的聊天室的消息,我用的是thinkphp,所以加入数据库的操作,与其他的框架有点出入,可以自行修改。

    好的。使用php开发网易云信api消息抄送功能并且聊天室消息保存到本地就到此为止了,有兴趣可以接着往下看,肯定有收获。

    剖析:

    为什么我上面要使用这行代码:$data = json_decode($body,true);

    我们来分析下,网易云信服务器给我们返回的都是啥。通过file_put_contents函数我们得到,网易云信服务器给我们发送的json数据。

    格式为:{"attach":"[哈哈][哈哈][哈哈] ","eventType":"4","fromAccount":"liyasong","fromAvator":"","fromClientType":"IOS","fromExt":"","fromNick":"liyasong","msgTimestamp":"1467871787806","msgType":"TEXT","msgidClient":"beb0da49-f78e-4dc5-af14-08ae7d19ad1f","resendFlag":"0","roleInfoTimetag":"1467871784503","roomId":"3542370"}

    一、通过json_decode($body)解码之后得到的是stdClass Object对象。stdClass Object

    (

    [attach] => [哈哈][哈哈][哈哈]

    [eventType] => 4

    [fromAccount] => liyasong

    [fromAvator] =>

    [fromClientType] => IOS

    [fromExt] =>

    [fromNick] => liyasong

    [msgTimestamp] => 1467871787806

    [msgType] => TEXT

    [msgidClient] => beb0da49-f78e-4dc5-af14-08ae7d19ad1f

    [resendFlag] => 0

    [roleInfoTimetag] => 1467871784503

    [roomId] => 3542370

    )

    cd9863c15f19aa363d0b30de539e3455.png

    二、通过json_decode($body,true)解码得到的结果为数组。Array

    (

    [attach] => [哈哈][哈哈][哈哈]

    [eventType] => 4

    [fromAccount] => liyasong

    [fromAvator] =>

    [fromClientType] => IOS

    [fromExt] =>

    [fromNick] => liyasong

    [msgTimestamp] => 1467871787806

    [msgType] => TEXT

    [msgidClient] => beb0da49-f78e-4dc5-af14-08ae7d19ad1f

    [resendFlag] => 0

    [roleInfoTimetag] => 1467871784503

    [roomId] => 3542370

    )

    54e5e9be65123d6de342fbba11c70096.png

    我们要将得到的聊天室消息保存到本地数据库,所以得到数组是最好的处理的。通过得到的数据,我们将值对应的写入到我们的数据库中即可。

    拓展:

    json_decodePHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

    语法

    mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

    参数

    json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据

    assoc:       当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。

    depth:       整数类型的参数,它指定递归深度

    options:     二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。

    数据表CREATE TABLE `receivemsg` (

    `id` int(10) NOT NULL AUTO_INCREMENT,

    `eventType` varchar(4) DEFAULT '4' COMMENT '值为4,表示是聊天室消息',

    `attach` tinytext COMMENT '消息内容',

    `ext` tinytext COMMENT '第三方扩展字段, 格式不限,长度限制4096,字符串类型',

    `fromAccount` varchar(10) DEFAULT '' COMMENT '消息发送者的账号',

    `fromAvator` varchar(100) DEFAULT '' COMMENT '发送者的头像',

    `fromClientType` varchar(10) DEFAULT '' COMMENT '客户端类型: AOS、IOS、PC、WINPHONE、WEB、REST',

    `fromExt` varchar(255) DEFAULT '' COMMENT '发送者身份的扩展字段,开发者可以自定义',

    `fromNick` varchar(40) DEFAULT '' COMMENT '发送方昵称',

    `msgTimestamp` varchar(15) DEFAULT '' COMMENT '消息发送的时间戳',

    `msgType` varchar(15) DEFAULT '',

    `msgidClient` varchar(40) DEFAULT '' COMMENT '客户端生成的消息id',

    `resendFlag` tinyint(2) DEFAULT '0' COMMENT '重发标记:0不是重发, 1是重发',

    `roleInfoTimetag` varchar(15) DEFAULT '' COMMENT '消息发送者用户名片的最后更新时间,可转为Long型数据',

    `roomId` int(10) DEFAULT NULL COMMENT '消息所属的聊天室id,可转为Long型数据',

    `antispam` varchar(6) DEFAULT '' COMMENT '标识是否被反垃圾,仅在被反垃圾时才有此字段,可转为Boolean类型数据',

    PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 COMMENT='聊天室消息表';

    展开全文
  • 在开发APP时,需要使用到即时通讯功能。...好的,下面我们看看网易云信api消息抄送功能怎么开发并且将聊天室消息保存本地数据库中。想了解更多的开发功能。在网站中直接搜索[网易云信]关键字,...
  • 即不用浏览器登录网站,直接程序实现登陆,然后访问页面上的数据保存本地 我知道要用到 模拟登陆 正则表达式 但是不知道要怎么实现这个程序 求解
  • 把网站dowm下来,保存本地,但是查看时也有诸多不便,因为 每次又要找到主页(index),并且文件比较分散,不好管理而且 不美观。 所以本文教你怎么保存网页,乃至整个网站(##绝对原创##) 使用到...
  • 一个网页没办法粘贴 屏蔽了右键 ctrl+c也不行 我网页保存本地的c盘 然后在本地打开 还是不能粘贴 怎么才能取得网页里的字呢? 我们在浏览网站的时候是不是经常遇到这样的情况呢?自己看到一些比较好的文章后...
  • 本文主要介绍的是在SharePoint站点把网站保存为模板后的wsp包的编辑以及怎么打包wsp包,至于怎么保存网站模板,可以看一下网站模板打包和根据模板建站。 1、把保存好的模板下载到本地(直接点击模板名称): _...
  • 年前接到的一个新需求,公司旧门户网站的新闻迁移到新的门户网站上,我的公司的网址是 www.jylink.com 像这种好玩的事,怎么能少了我这种小机智,开始动手来做 我的目标是从2012-2018年的公司的新闻存到...
  • 做影视站视频资源多了以后图片是个很头疼的事,不但占用空间还影响网站响应速度,其实苹果cms官方给出的不错方案就是图片同步到第三方云存储例如:新浪图床,七牛云存储,又拍云存储等。 具体操作步骤如下: 1,...
  • 我们在讲解之前。先了解下文章的一般写法 伪原创:是指一篇原创的文章进行再加工,使其让搜索引擎认为是一篇原创... n找3-5个同行网站的新闻中心,选择和搜索词相关的文章用txt保存复制到本地; n对保存下来的正文通
  • 将.MDB的文件放在本地的某个文件夹,下面代码写进记事本,保存为.vbs文件,待解压文件改名为Packet.mdb后执行解压。 以下是引用wshxh在2009-3-7 19:15:00的发言: 解包工具下载地址 ...
  • 进入后台以后,别着急去查看前台页面之类的,去后台的基础设置里面把网站的域名,关键词,文章栏目等等设置为自己的,然后配置成自己想要的配置,这样操作后再去看前台的页面是否正常!! 2.如何采集 这里配套了关关...
  • 40、阿赛网站文件管理商业版:在线查看网站内所有文件,并可直接对文件源码进行在线修改,同时支持在线压缩整个网站,打包下载,并可在线解压、上传文件、查看空间大小、文件大小等各种如同本地浏览文件的操作;...
  • # 请求之后的获取到的响应数据保存本地文件夹,以查看代理请求是否成功! with open('ip.html', 'w', encoding='utf-8') as adi: adi.write(response_data) exit() # ...
  • 现在很多小朋友都在弈城, 野狐等网站下棋, 我们怎么样利用围棋AI对下过的棋进行复盘呢?今天先分享怎么弈城得棋谱下载下来进行复盘分析:首先需要登陆弈城...点击'保存', 可以棋谱保存本地电脑.2. 启动sabaki,...
  • python爬取微博用户的微博内容和图片

    千次阅读 多人点赞 2019-05-03 17:17:40
    保存微博博主的所有表情包,怎么才能快速这些表情包下载到本地呢?想分析某位博主的发博规律,要分析博主所有微博信息怎么做? 移动端的微博爬取难度比较低,网址为移动端微博,打开网站,搜索进入刘亦菲的微博...
  • 怎么把本地仓库的东西提交到网络上 我们平时的代码可以保存在很多地方 比如,个人服务器,公司服务器,代码托管网站等等 我们现在就使用代码托管网站 比如GitHub或者GitLab 我们先来学习GitHub 我们...
  • 关于Redis的持久化文档,我们还是要看...所谓持久化,就是内存中的数据写入磁盘中,保存本地。 2,既然可以将内存中的数据写在本地文件中,那么保存方式和写入频率就成了关键点。官方文档中指出了两种方式,一种是
  • cookie与Session的区别

    2015-05-13 20:38:00
    在浏览网站的时候,计算机会你在网站上所做的操作和一些选择都给记录下来,以文件的形式保存在你的本地电脑中,称为cookie. (IE浏览器 -->工具-->Internet选项-->常规-->浏览历史记录-->设置-->...
  • 问题 一次面试遇到的一个问题,其实也是实际开发中很容易遇到的问题,特此记录一下。...cookie由服务器生成,发送给浏览器,浏览器cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会该co
  • 我的想法是图片存到本地文件夹中,然后数据库保存图片的绝对路径,然后前端页面需要显示图片时再从数据库中使用绝对路径读取本地图片文件,但我不知道如何实现将图片存储到指定文件夹中。 然后另一个想法是将图片...
  • 没有图片保存本地,然后查看资源站,同一部电影人家的图片可以正常显示,这就说明资源站可能中间更换了图片链接,导致我们采集的影片图片出现失效破图,那么针对这种图片不显示问题怎么修复? 下面为大家提供...
  • 一、制作ico图标文件这步原本最复杂,但是现在涌现了一堆免费在线转换的网站,大家可以自行百度,小白也能随意创作,只要你自己找一张图片上传,在线转换后保存本地就行。二、创建autorun.inf文件在这步之前,先打开...
  • 可是APP的保存本地是带水印的,自己心心念念想要留下来的视频,当然是不希望下载的视频有抖音的水印,所以可以看到网上有很多去水印的APP,网站,还有小程序!那么他们是怎么做到去除水印的呢?其实也是很简单。 ...
  • !... ...我是网站搭在服务器上,用apicloud包上个网站...我想问的是怎么把这个base64 的图片通过http或者https的格式下载呢?? (难道要上传到服务器上,然后在服务器上本地下载?可是我又担心服务器容量的问题。。)
  • 【糗】做了一年多的java web网站终于接近尾声了,这两天已经放到服务器上了,但是我负责的模块有问题,本地修改之后直接.java文件替换掉服务器上的.class文件,自己还理所应当的.java改成.class。结果就是服务器...

空空如也

空空如也

1 2 3 4
收藏数 64
精华内容 25
关键字:

怎么把网站保存本地