58同城收集联系人和手机号码
程序员文章站
2022-03-03 10:20:59
...
如何才能便捷的从58同城上获取联系人和手机号码呢?可以通过爬虫软件、抓包软件,同时配合爬虫代理IP完成相关数据的采集和分析,也可以直接使用程序配置爬虫代理采集数据。
一、爬虫软件直接采集
1、首先需要找一款能采集58同城的爬虫软件,支持对该网站页面数据进行分析处理,提取联系人和手机号码,这类软件网络上较多,大家可以自行获取。
2、通过抓包软件,获取58账号登录后的相关信息
3、将获取的登录信息设置到爬虫软件,同时使用爬虫代理IP,对58同城进行数据采集,获取联系人和手机号码
二、爬虫程序采集
下面的代码使用java可以调用浏览器Firefox,结合爬虫代理IP向目标网站发起请求获取数据,因此可以结合业务需要进行修改,实现联系人和手机号码的采集
import org.json.JSONException;import org.json.JSONObject;import org.openqa.selenium.Platform;import org.openqa.selenium.Proxy;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.firefox.FirefoxProfile;import org.openqa.selenium.htmlunit.HtmlUnitDriver;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import com.gargoylesoftware.htmlunit.DefaultCredentialsProvider;import com.gargoylesoftware.htmlunit.WebClient;public class FirefoxDriverProxyDemo{ // 代理隧道验证信息 final static String proxyUser = "username"; final static String proxyPass = "password"; // 代理服务器 final static String proxyHost = "t.16yun.cn"; final static int proxyPort = 31111; final static String firefoxBin = "C:/Program Files/Mozilla Firefox/firefox.exe"; public static void main(String[] args) throws JSONException { System.setProperty("webdriver.firefox.bin", firefoxBin); FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.proxy.type", 1); profile.setPreference("network.proxy.http", proxyHost); profile.setPreference("network.proxy.http_port", proxyPort); profile.setPreference("network.proxy.ssl", proxyHost); profile.setPreference("network.proxy.ssl_port", proxyPort); profile.setPreference("username", proxyUser); profile.setPreference("password", proxyPass); profile.setPreference("network.proxy.share_proxy_settings", true); profile.setPreference("network.proxy.no_proxies_on", "localhost"); FirefoxDriver driver = new FirefoxDriver(profile); }}
上一篇: Aviator——开源轻量级、高性能的表达式求值器
下一篇: 高并发网站系统搭建:单机到分布式集群