网络爬虫-获取网页中的数据加伪装头,伪装成浏览器多次访问,避免单次访问导致ip被封
生活随笔
收集整理的這篇文章主要介紹了
网络爬虫-获取网页中的数据加伪装头,伪装成浏览器多次访问,避免单次访问导致ip被封
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
User-Agent:用戶代理。是一種向訪問網站提供你所使用的瀏覽器類型、操作系統及版本、CPU 類型、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等信息的標識。UA字符串在每次瀏覽器 HTTP 請求時發送到服務器
Referer:HTTP Referer是header的一部分,當瀏覽器向web服務器發送請求的時候,一般會帶上Referer,告訴服務器我是從哪個頁面鏈接過來的,服務器籍此可以獲得一些信息用于處理
public static String getHtmls(String url) throws IOException {RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.IGNORE_COOKIES).build();String html = "";CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(globalConfig).build();HttpGet httpget = new HttpGet(url);//瀏覽器標識 (操作系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識 版本信息httpget.setHeader("User-Agent","Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255");// 偽裝頭httpget.setHeader("Referer", "https://mp.weixin.qq.com");try {HttpResponse responce = httpClient.execute(httpget);//int resStatu = responce.getStatusLine().getStatusCode();if (resStatu == HttpStatus.SC_OK) {HttpEntity entity = responce.getEntity();if (entity != null) {html = EntityUtils.toString(entity);// 獲得html源代碼}}} catch (Exception e) {System.out.println("訪問 " + url + " 出現異常!");e.printStackTrace();} finally {// 釋放連接httpClient.close();}return html;}總結
以上是生活随笔為你收集整理的网络爬虫-获取网页中的数据加伪装头,伪装成浏览器多次访问,避免单次访问导致ip被封的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unixODBC的使用
- 下一篇: 【待解答】文件目录可以利用foreach