美文网首页
使用码栈批量抓取店铺所有商品名称和价格

使用码栈批量抓取店铺所有商品名称和价格

作者: 龟仙人_9103 | 来源:发表于2020-03-12 16:40 被阅读0次

最近收到一个淘宝页面商品信息的需求,之前页弄过类似的需求;一开始想着使用python等爬虫工具,不过介于淘宝对爬虫机制的限制,还是果断放弃了;

然后选择了使用码栈这个神器,虽然他很多功能都需要收费,最关键的最后的数据结果的导出功能要收费;直接哭晕;但是身为程序员没有绕不过去的砍;请允许我慢慢道来;

下面简单介绍下我的开发:

这是我们整个可视化流程的截图,大概逻辑页很简单,

1、先遍历所有页面数(可以自动获取,也可以手动写,)

2、然后拼接url  基础URL+页数

3、。。。

4、对于很多不想付钱的老铁,遇到下面的问题是很是坑爹的

5、我的解决方法就算,通过get请求把最后的结果通过网络的方式传输出去;这方法对于程序员来说其实很简答,随随便便开个服务就能解决;但对于不是程序员的老铁可能比较困难了,可能又是一堆的折腾;

```package httpServer2;

import java.io.BufferedReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Map;

public class HTTPServer {

    public static void main(String[] args) {

        try {

            ServerSocket ss=new ServerSocket(8888);

            while(true){

                Socket socket=ss.accept();

                BufferedReader bd=new BufferedReader(new InputStreamReader(socket.getInputStream()));

                /**

                * 接受HTTP请求

                */

                String requestHeader;

                int contentLength=0;

                while((requestHeader=bd.readLine())!=null&&!requestHeader.isEmpty()){

                    //System.out.println(requestHeader);

                    /**

                    * 获得GET参数

                    */

                    if(requestHeader.startsWith("GET")){

                        int begin = requestHeader.indexOf("/?")+2;

                        int end = requestHeader.indexOf("HTTP/");

                        String condition=requestHeader.substring(begin, end);

                        System.out.println("GET参数是:"+condition);

                        String params = condition.substring(condition.indexOf("?") + 1, condition.length());

                        String[] aaa = params.split("&");

                        String ccc = "";

                        for(int i=0;i<aaa.length;i++) {

                        String[] bbb = aaa[i].split("=");

                        bbb[1] = java.net.URLDecoder.decode(bbb[1], "utf-8");

                        if(i==0) {

                        ccc = bbb[1];

                        }else {

                        ccc += ","+bbb[1];

                        }

                        }

                        HTTPServer.filewrite(ccc,"outData.csv");

                    }

                }

                StringBuffer sb=new StringBuffer();

                if(contentLength>0){

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

                        sb.append((char)bd.read());

                    }

                    System.out.println("POST参数是:"+sb.toString());

                }

                //发送回执

                PrintWriter pw=new PrintWriter(socket.getOutputStream());

                pw.println("HTTP/1.1 200 OK");

                pw.println("Content-type:text/html");

                pw.println();

                pw.println("<h1>访问成功!</h1>");

                pw.flush();

                socket.close();

            }

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    public static void filewrite(String str, String ResultfilePath) throws IOException{

try {                                                                       

            // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件     

            FileWriter writer = new FileWriter(ResultfilePath, true);                   

            writer.write(str+System.getProperty("line.separator"));   

            writer.close();                                                       

        } catch (IOException e) {                                                 

            e.printStackTrace();                                                   

        }

}

}

```

这java半的 简易Http服务; 可以接受GET服务,然后已csv的格式写入到文件中;-一切大功搞成;

相关文章

  • 使用码栈批量抓取店铺所有商品名称和价格

    最近收到一个淘宝页面商品信息的需求,之前页弄过类似的需求;一开始想着使用python等爬虫工具,不过介于淘宝对爬虫...

  • 使用Selenium爬取淘宝商品

    这次利用Selenium抓取淘宝并用pyquery解析得到商品的图片、名称、价格、购买人数、店铺名称和店铺所在地信...

  • selenium 爬取淘宝列表页

    爬取目标: 网站:淘宝指定商品的列表页 解析目标:商品图片商品名称价格购买人数店铺名称店铺地址(城市) 存储:mo...

  • text被挤出显示区域

    有这样一种需求 限定一行展示商品名称和商品的价格。当商品名称过长时,价格则有可能显示不下。需求是:商品价格展示第一...

  • 中医世家15周年庆POP模版

    请对应美陈标准进行书写 请使用黑色书写商品名称,使用红色6号书写活动及价格

  • 批量抓取优美图库

    title: 批量抓取优美图库permalink: 批量抓取优美图库date: 2022-09-29 10:28:...

  • scrapy+redis+mongo 爬取万表网

    爬取目标: 万表网上商品的每个商品的商品名称,商品价格,店铺名称,商品编号,商品型号,商品品牌,商品销量,商品参数...

  • Python爬虫学习15-Requests模拟登陆知乎

    一、常见状态码 二、登录分析 在登录界面输入手机号和帐号 三、抓取xsrf的值 正则匹配抓取xsrf需要使用hea...

  • python网络爬虫笔记二

    一、搜索淘宝商品名称和价格信息--定向爬虫 二、股票数据的定向爬虫

  • 云彩店(87彩店)

    云彩店(原87彩店) 推荐使用: 店铺名称:太阳上乘凉 店铺邀请码:55412 软件下载地址: 本店铺优势...

网友评论

      本文标题:使用码栈批量抓取店铺所有商品名称和价格

      本文链接:https://www.haomeiwen.com/subject/axopjhtx.html