首页 文章

使用Java或Python自动从Excel或CSV进行搜索

提问于
浏览
0

我的目标是自动化网络搜索 . 我有一个填充的电子表格 . 使用Java或Python,我想将电子表格数据输入到网页的特定搜索栏中 .

到目前为止,我可以使用Java和Python打开网页,但我无法弄清楚如何查询特定的搜索字段 .

有谁知道如何做到这一点?

谢谢!

1 回答

  • 0

    您打算做什么称为:请求发送,是的,它可以在Java和Python中使用 .

    Java example

    package com.mkyong;
    
    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    import javax.net.ssl.HttpsURLConnection;
    
    public class HttpURLConnectionExample {
    
        private final String USER_AGENT = "Mozilla/5.0";
    
        public static void main(String[] args) throws Exception {
    
            HttpURLConnectionExample http = new HttpURLConnectionExample();
    
            System.out.println("Testing 1 - Send Http GET request");
            http.sendGet();
    
            System.out.println("\nTesting 2 - Send Http POST request");
            http.sendPost();
    
        }
    
        // HTTP GET request
        private void sendGet() throws Exception {
    
            String url = "http://www.google.com/search?q=mkyong";
    
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
            // optional default is GET
            con.setRequestMethod("GET");
    
            //add request header
            con.setRequestProperty("User-Agent", USER_AGENT);
    
            int responseCode = con.getResponseCode();
            System.out.println("\nSending 'GET' request to URL : " + url);
            System.out.println("Response Code : " + responseCode);
    
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
    
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
    
            //print result
            System.out.println(response.toString());
    
        }
    
        // HTTP POST request
        private void sendPost() throws Exception {
    
            String url = "https://selfsolve.apple.com/wcResults.do";
            URL obj = new URL(url);
            HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
    
            //add reuqest header
            con.setRequestMethod("POST");
            con.setRequestProperty("User-Agent", USER_AGENT);
            con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
    
            String urlParameters = "sn=C02G8416DRJM&cn=&locale=&caller=&num=12345";
    
            // Send post request
            con.setDoOutput(true);
            DataOutputStream wr = new DataOutputStream(con.getOutputStream());
            wr.writeBytes(urlParameters);
            wr.flush();
            wr.close();
    
            int responseCode = con.getResponseCode();
            System.out.println("\nSending 'POST' request to URL : " + url);
            System.out.println("Post parameters : " + urlParameters);
            System.out.println("Response Code : " + responseCode);
    
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
    
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
    
            //print result
            System.out.println(response.toString());
    
        }
    
    }
    

    Python example .

    编辑:在您编写请求发件人之前,最好先研究浏览器与网站之间的通信 . 查看发送的位置以及发出搜索时的请求类型 .

相关问题