webKit 实现爬虫 java 5C

做爬虫得时候遇到一个比较难搞定的网站,同事介绍说可以用webkit试下,我的具体需求是
模拟真实浏览器,取出登录之后的页面内容。
不知道webkit能否实现,有没有大神对webkit熟悉的。。。

4个回答

webkit和ie是两种浏览器的内核。
要模拟访问网站,我们一般不直接用浏览器内核(你又不是开发浏览器)
我们可以用webbrowser(C#、VB)、selenium(python)、JxBrowser(java)等。
因为上面说的就是在你的程序里调用真实的浏览器,除了验证码比较麻烦一点,别的和人操作都没有区别,人能做的,程序肯定能做。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复fanfanfys: 你要”模拟真实浏览器“,但是这不是唯一的方式哦
大约 2 年之前 回复
fanfanfys
fanfanfys 而且我想要的效果不是调用本地浏览器,而是模拟,这样代码不管放到哪都可以运行,selenium试过,运行有点慢
大约 2 年之前 回复
fanfanfys
fanfanfys JxBrowser(java) 在无图型化环境下可以操作么?
大约 2 年之前 回复
fanfanfys
fanfanfys 对了,我忘说一点了,就是不管用什么技术,一定要在无图型化界面下可以操作的,因为程序做好之后肯定要放到linux服务器上的,
大约 2 年之前 回复

这里有一个我上次回答的,用webbrowser模拟浏览器查询的例子:https://ask.csdn.net/questions/690252

fanfanfys
fanfanfys 对了,我忘说一点了,就是不管用什么技术,一定要在无图型化界面下可以操作的,因为程序做好之后肯定要放到linux服务器上的,
大约 2 年之前 回复

http://webmagic.io/docs/zh/
配合
phantomjs

完美!

fanfanfys
fanfanfys 靠谱,我研究下,3Q
大约 2 年之前 回复

你说selenium慢,你的操作是否正确??
推荐看看
https://blog.csdn.net/android_app/article/details/80454623

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
爬虫代理ip无法使用,换了好几个了都一样

``` public static void main(String[] args) throws IOException { Map<String,String> header=new HashMap<>(); header.put("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); header.put("Accept-Language","zh-CN,zh;q=0.8"); header.put("Cache-Control","max-age=0"); header.put("Connection","keep-alive"); header.put("Host","www.xicidaili.com "); header.put("If-None-Match","W/\"f9ed210d1bd9f787ddddffceef37c9bc\""); header.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"); header.put("Upgrade-Insecure-Requests","1"); String content=Jsoup.connect("https://www.xicidaili.com/wt/").referrer("https://www.xicidaili.com/wn") .proxy("59.62.164.68", 9999) .ignoreContentType(true) .ignoreHttpErrors(true) .headers(header) .execute().parse() .toString(); System.out.println(content); } ``` 请问我这个为啥一直报这个错误 Exception in thread "main" java.net.ConnectException: Connection refused: connect 代理ip我已经换了好几个 都是这样 代理ip来源:https://www.xicidaili.com 麻烦大佬解答一下 多谢

java爬虫模拟登陆失败, 求大神帮忙看看

/** * 纷简历模拟登陆 */ public static void fenResumePost() { // 创建客户端 CloseableHttpClient closeableHttpClient = HttpClients.createDefault(); // 预访问的网址 String login_src = "http://www.fenjianli.com/login/home.htm"; // 创建请求Post实例 HttpPost httpPost = new HttpPost(login_src); // 设置头部信息进行浏览器模拟行为 httpPost.addHeader("Accept", "application/json, text/javascript, */*; q=0.01"); httpPost.addHeader("Accept-Encoding", "gzip, deflate"); httpPost.addHeader("Accept-Language", "zh-CN,zh;q=0.8"); httpPost.addHeader("Content", "keep-alive"); // httpPost.addHeader("Content-Length", "55"); // 提示异常: Content-Length header already present httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); httpPost.addHeader("Cookie", "td_cookie=544535021; huodong=fenjianli; hdflag=active; td_cookie=544673389; JSESSIONID=D0B07540004A292D094B4B54BEEB139C; Hm_lvt_accc94e05dd4516e89bc93ebd0d3938e=1503648592,1503987387,1503987657,1505373791; Hm_lpvt_accc94e05dd4516e89bc93ebd0d3938e=1505379033; Hm_lvt_b9e62a948ba6b6274cc0fa7e61b1b38b=1503648592,1503987374,1503987657,1505373791; Hm_lpvt_b9e62a948ba6b6274cc0fa7e61b1b38b=1505379033"); httpPost.addHeader("Host", "www.fenjianli.com"); httpPost.addHeader("Origin", "http://www.fenjianli.com"); httpPost.addHeader("Referer", "http://www.fenjianli.com/login/home.htm"); httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"); httpPost.addHeader("X-Requested-With", "XMLHttpRequest"); // 构建参数,即模拟需要输入的参数。通过抓包获得。 List<NameValuePair> list = new ArrayList<NameValuePair>(); list.add(new BasicNameValuePair("username", "******")); // 用户名 list.add(new BasicNameValuePair("password", "******")); // 密码 list.add(new BasicNameValuePair("rememberMe", "1")); // list.add(new BasicNameValuePair("Request Method", "POST")); // 设置提交方法 // 向对方服务器发送Post请求 try { // 将参数进行封装,提交到服务器端 httpPost.setEntity(new UrlEncodedFormEntity(list, "UTF8")); CloseableHttpResponse httpResponse = closeableHttpClient.execute(httpPost); // 如果模拟登录成功, 得到服务响应状态码 if (httpResponse.getStatusLine().getStatusCode() == 200) { // 打印所有响应头 Header[] headers = httpResponse.getAllHeaders(); System.out.println("登陆成功!"); for (Header header : headers) { System.out.println(header.getName() + ": " + header.getValue()); } } else { System.out.println("elan异常!"); } } catch (Exception e) { e.printStackTrace(); } }

java采集页面显示202状态

最近测试采集公共资源交易的页面,出来202问题,无法采集最终页面内容,希望给予页面采集的完整JAVA代码,谢谢! 附测试代码: package asptest; import java.io.IOException; import java.net.URI; import org.apache.http.HttpRequest; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.params.CookiePolicy; import org.apache.http.client.protocol.ClientContext; import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.DefaultHttpRequestRetryHandler; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.cookie.BasicClientCookie2; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.ExecutionContext; import org.apache.http.protocol.HttpContext; import org.apache.http.util.EntityUtils; /* * author:合肥工业大学 管院学院 钱洋 *1563178220@qq.com */ public class Testggzy { public static void main(String[] args) throws ClientProtocolException, IOException, InterruptedException { getRawHTML("http://www.ggzy.gov.cn/information/html/b/500000/0201/201808/30/005073ad2bc4036b4335a46cf421674b341f.shtml"); } public static String getRawHTML ( String url ) throws ClientProtocolException, IOException, InterruptedException{ //初始化 DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.getParams().setParameter("http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY); //设置参数 HttpParams params = httpclient.getParams(); //连接时间 HttpConnectionParams.setConnectionTimeout(params, 6000); HttpConnectionParams.setSoTimeout(params, 6000*20); //超时重新请求次数 DefaultHttpRequestRetryHandler dhr = new DefaultHttpRequestRetryHandler(5,true); HttpContext localContext = new BasicHttpContext(); HttpRequest request2 = (HttpRequest) localContext.getAttribute( ExecutionContext.HTTP_REQUEST); httpclient.setHttpRequestRetryHandler(dhr); BasicCookieStore cookieStore = new BasicCookieStore(); BasicClientCookie2 cookie = new BasicClientCookie2("Content-Type","text/html;charset=UTF-8"); BasicClientCookie2 cookie1 = new BasicClientCookie2("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"); cookieStore.addCookie(cookie); cookieStore.addCookie(cookie1); localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); HttpGet request = new HttpGet(); request.setURI(URI.create(url)); HttpResponse response = null; String rawHTML = ""; response = httpclient.execute(request,localContext); int StatusCode = response.getStatusLine().getStatusCode(); //获取响应状态码 System.out.println(StatusCode); if(StatusCode == 200){ //状态码200表示响应成功 //获取实体内容 rawHTML = EntityUtils.toString (response.getEntity()); System.out.println(rawHTML); //输出实体内容 EntityUtils.consume(response.getEntity()); //消耗实体 }else { //关闭HttpEntity的流实体 EntityUtils.consume(response.getEntity()); //消耗实体 Thread.sleep(20*60*1000); //如果报错先休息30分钟 } httpclient.close(); System.out.println(rawHTML); return rawHTML; } }

java抓取雪球数据时连接老是失败,不知道是否被屏蔽还是参数不对

尝试了好多参数,都是一样的 Server returned HTTP response code: 400 for URL,不知道是不是雪球有限制,但是对照浏览器的请求,一模一样的做了设置也不行,多谢! 也用jsoup做同样的事情,还是同样的错误。 Java代码 收藏代码 [code="java"]package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.nio.charset.Charset; import org.json.JSONException; import org.json.JSONObject; public class test { private static String readAll(Reader rd) throws IOException { StringBuilder sb = new StringBuilder(); int cp; while ((cp = rd.read()) != -1) { sb.append((char) cp); } return sb.toString(); } public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException { URL u = new URL(url); URLConnection uc = (HttpURLConnection)u.openConnection(); uc.setRequestProperty("X-Requested-With","XMLHttpRequest"); uc.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER"); // give it 15 seconds to respond uc.setReadTimeout(15*1000); uc.connect(); InputStream is = uc.getInputStream(); try { BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); String jsonText = readAll(rd); JSONObject json = new JSONObject(jsonText); return json; } finally { is.close(); } } public static void main(String[] args) throws IOException, JSONException { // 设置代理 System.getProperties().setProperty("proxySet", "true"); System.getProperties().setProperty("http.proxyHost", "cn-proxy.xxx.com"); System.getProperties().setProperty("http.proxyPort", "80"); JSONObject json = readJsonFromUrl("http://xueqiu.com/stock/cata/stocklist.json?page=1&size=90&order=desc&orderby=name&exchange=CN&industry=%E5%9B%9E%E8%B4%AD&flag=1&_=1417428721184"); System.out.println(json.toString()); } } [/code] 引用 [code="java"]Exception in thread "main" java.io.IOException: Server returned HTTP response code: 400 for URL: http://xueqiu.com/stock/cata/stocklist.json?page=1&size=90&order=desc&orderby=name&exchange=CN&industry=%E5%9B%9E%E8%B4%AD&flag=1&_=1417428721184 at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1241) at com.test.test.readJsonFromUrl(test.java:37) at com.test.test.main(test.java:54) [/code] 这个url返回的是一个json文件,内容大概如下,具体可以点击链接查看: Json代码 收藏代码 [code="java"]{"count":{"count":19.0},"success":"true","stocks":[{"symbol":"SZ395032","code":"395032","name":"债券回购","pettm":"","volume":"395277740","hasexist":"false","marketcapital":"0.0","current":"0.0","percent":"0.0","change":"0.0","high":"0.0","low":"0.0","high52w":"0.0","low52w":"0.0","trading_date":"","trading_days":"","actual_date":"","actual_days":"","net_profit":"","net_profit_day":"","net_profit_yield":"","net_cost":"","net_cost_day":"","net_cost_yield":""},{"symbol":"SH204001","code":"204001","name":"GC001","pettm":"","volume":"370904900","hasexist":"false","marketcapital":"0.0","current":"5.025","percent":"139.29","change":"2.925","high":"7.0","low":"4.0","high52w":"50.5","low52w":"0.1","trading_date":"","trading_days":"","actual_date":"","actual_days":"","net_profit":"","net_profit_day":"","net_profit_yield":"","net_cost":"","net_cost_day":"","net_cost_yield":""}]}[/code] 浏览器的heads: [code="java"]Remote Address:146.56.234.217:80 Request URL:http://xueqiu.com/stock/cata/stocklist.json?page=1&size=90&order=desc&orderby=name&exchange=CN&industry=%E5%9B%9E%E8%B4%AD&flag=1&_=1417428721184 Request Method:GET Status Code:200 OK Request Headersview source Accept:application/json, text/javascript, */*; q=0.01 Accept-Encoding:gzip,deflate,sdch Accept-Language:zh-CN,zh;q=0.8 Cache-Control:max-age=0 Cookie:bid=2a0ffaa0c8c292e9752b4f52fa2e1a8e_i2zlirov; snbim_minify=true; last_account=35159618%40qq.com; xq_a_token=iXFl2kLorOVMsEDZ78hkeg; xq_r_token=Hs8CSFgNGhjhS6App0McWe; __utmt=1; Hm_lvt_1db88642e346389874251b5a1eded6e3=1417060711,1417146659,1417410467; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1417428721; __utma=1.1126280283.1417060711.1417420694.1417428549.11; __utmb=1.2.10.1417428549; __utmc=1; __utmz=1.1417410467.8.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided) Host:xueqiu.com Proxy-Connection:keep-alive Referer:http://xueqiu.com/hq User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER X-Requested-With:XMLHttpRequest[/code]

爬虫爬取网站遭遇延时转跳如何解决?

爬取一个网站时遇上了延时转跳 _**而且转跳前后是同一个网址**_ 个人分析应该是用了一个复杂的JavaScript函数来进行延时操作,然后ajax刷新 爬虫无论怎么请求都是这个 而浏览器过一会儿就转跳了 似乎除了用selenium已经没办法了 这个是get到的转跳页面 ``` <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" /> <meta name="robots" content="noindex, nofollow" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <title>Just a moment...</title> <style type="text/css"> html, body {width: 100%; height: 100%; margin: 0; padding: 0;} body {background-color: #ffffff; font-family: Helvetica, Arial, sans-serif; font-size: 100%;} h1 {font-size: 1.5em; color: #404040; text-align: center;} p {font-size: 1em; color: #404040; text-align: center; margin: 10px 0 0 0;} #spinner {margin: 0 auto 30px auto; display: block;} .attribution {margin-top: 20px;} @-webkit-keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } .bubbles { background-color: #404040; width:15px; height: 15px; margin:2px; border-radius:100%; -webkit-animation:bubbles 0.6s 0.07s infinite ease-in-out; animation:bubbles 0.6s 0.07s infinite ease-in-out; -webkit-animation-fill-mode:both; animation-fill-mode:both; display:inline-block; } </style> <script type="text/javascript"> //<![CDATA[ (function(){ var a = function() {try{return !!window.addEventListener} catch(e) {return !1} }, b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)}; b(function(){ var a = document.getElementById('cf-content');a.style.display = 'block'; setTimeout(function(){ var s,t,o,p,b,r,e,a,k,i,n,g,f, SKLCxwk={"w":+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))}; g = String.fromCharCode; o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; e = function(s) { s += "==".slice(2 - (s.length & 3)); var bm, r = "", r1, r2, i = 0; for (; i < s.length;) { bm = o.indexOf(s.charAt(i++)) << 18 | o.indexOf(s.charAt(i++)) << 12 | (r1 = o.indexOf(s.charAt(i++))) << 6 | (r2 = o.indexOf(s.charAt(i++))); r += r1 === 64 ? g(bm >> 16 & 255) : r2 === 64 ? g(bm >> 16 & 255, bm >> 8 & 255) : g(bm >> 16 & 255, bm >> 8 & 255, bm & 255); } return r; }; t = document.createElement('div'); t.innerHTML="<a href='/'>x</a>"; t = t.firstChild.href;r = t.match(/https?:\/\//)[0]; t = t.substr(r.length); t = t.substr(0,t.length-1); k = 'cf-dn-SvUMZyyhEa'; a = document.getElementById('jschl-answer'); f = document.getElementById('challenge-form'); ;SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+[])+(+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![])+(!+[]+!![]+!![]));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]));SKLCxwk.w-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(+[])+(+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]));SKLCxwk.w-=function(p){var p = eval(eval(e("ZG9jdW1l")+(undefined+"")[1]+(true+"")[0]+(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+g(103)+(true+"")[3]+(true+"")[0]+"Element"+g(66)+(NaN+[Infinity])[10]+"Id("+g(107)+")."+e("aW5uZXJIVE1M"))); return +(p)}();SKLCxwk.w-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+[])+(+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]));SKLCxwk.w+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]));SKLCxwk.w+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![])+(+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+[])+(+[])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![]))/(+(+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])))+(function(p){return eval((true+"")[0]+".ch"+(false+"")[1]+(true+"")[1]+Function("return escape")()(("")["italics"]())[2]+"o"+(undefined+"")[2]+(true+"")[3]+"A"+(true+"")[0]+"("+p+")")}(+((+[]+[])))));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]));SKLCxwk.w*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![])+(+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));SKLCxwk.w+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![])+(+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]));SKLCxwk.w-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]));a.value = (+SKLCxwk.w).toFixed(10); '; 121' f.action += location.hash; f.submit(); }, 4000); }, false); })(); //]]> </script> </head> <body> <table width="100%" height="100%" cellpadding="20"> <tr> <td align="center" valign="middle"> <div class="cf-browser-verification cf-im-under-attack"> <noscript><h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1></noscript> <div id="cf-content" style="display:none"> <div> <div class="bubbles"></div> <div class="bubbles"></div> <div class="bubbles"></div> </div> <h1><span data-translate="checking_browser">Checking your browser before accessing</span> sex8.cc.</h1> <p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p> <p data-translate="allow_5_secs">Please allow up to 5 seconds&hellip;</p> </div> <form id="challenge-form" action="/cdn-cgi/l/chk_jschl" method="get"> <input type="hidden" name="s" value="e0cf6e1114821794b494cb2135de3509ff5a2db5-1567488092-1800-AT+pBsDSX2Ma1FQeJX4qVAHWs2FWNpu3f72Q0sLaAam9nBRJiJuhkA28wwzo9SaiLmDmRwGaebMlTbzP2iwhmdGnknr8C6PWttIUChlfz+94Oa3jUkGS8Yuo6WHbDMdCb1dj41t/g5uSmnX6zgekWh3Uuk+D0mJMlFOF/QEOjeKBIHWu/VQqESbWdjEMiZ9hyH9k6ESBKGtbsYhpIHDSKk39Xacmk7PD5fR5IqoHRMxBSEcaloNQMkIj5WdhvHyUKA=="></input> <input type="hidden" name="jschl_vc" value="6742033edc8dbdc1f20b278290b6d171"/> <input type="hidden" name="pass" value="1567488096.07-gCOr5bXgoz"/> <input type="hidden" id="jschl-answer" name="jschl_answer"/> </form> <div style="display:none;visibility:hidden;" id="cf-dn-SvUMZyyhEa">+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]))</div> </div> <div class="attribution"> <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=iuam" target="_blank" style="font-size: 12px;">DDoS protection by Cloudflare</a> <br> Ray ID: 510547df6d24a5ac </div> </td> <a href="https://sprengung.org/blocky.php?task=1"></a> </tr> </table> </body> </html> ```

关于HttpClient,webkit,libcurl的问题

请问有哪些封装的比较简单的C/C++的HttpClient ? 我尝试自己用Socket封装以实现最基本的http或代理的get,post请求 但是直接访问网页还好,基本都可以返回html 但用代理就不行了,会有丢包,协议头和内容被代理分开传回的情况,自己处理比较麻烦 所以想用现成的库,我了解的有libcurl和webkit 故有以下几个问题: 1.libcurl通过http代理访问网站还需要自己写代码吗? 2.libcurl可以解析js代码吗? 3.webkit(qtwebkit)可以只解析页面(包含js)而不显示窗口吗? 4.有什么现成的项目或者demo比较容易实现我的功能或者可供参考? -------------------------------------------------------------------------- 注:我要做的东西是网络爬虫 -------------------------------------------------------------------------- 以上几个问题比较傻逼,只是我想一次搞定,这两天一直在查资料走弯路 求解惑,问题比较多,实在没有C币,不好意思,感激不尽

python爬虫时为什么网页源码经过xpth处理后无法解析了呢

## 在爬取一个小说网站的时候我发现在网页的response中可以看到相关的值,但是在获取的时候就出现了问题 ### 具体问题是这样的, - 爬取的网站链接为:https://www.qiushuzw.com/t/38890/10253657.html ``` from lxml import etree import requests class Xiaoshuospider: def __init__(self): self.start_url = 'https://www.qiushuzw.com/t/38890/10253656.html' self.headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", "Cache-Control": "max-age=0", "Connection": "keep-alive", "Cookie": "BAIDU_SSP_lcr=https://www.80txt.com/txtml_38890.html; Hm_lvt_c0ce681e8e9cc7e226131131f59a202c=1554447305; Hm_lpvt_c0ce681e8e9cc7e226131131f59a202c=1554447305; UM_distinctid=169ec4788554ea-0eba8d0589d979-1a201708-15f900-169ec4788562c1; CNZZDATA1263995655=929605835-1554443240-https%253A%252F%252Fwww.80txt.com%252F%7C1554443240", "Host": "www.qiushuzw.com", "If-Modified-Since": "Thu, 31 Jan 2019 03:00:17 GMT", "If-None-Match": 'W/"5c5264c1 - 3f30"', "Referer": "https://www.80txt.com/txtml_38890.html", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36", } def parse(self): res = requests.get(self.start_url,headers=self.headers).content.decode() html = etree.HTML(res) content = html.xpath("div[@class='book_content']/text()") print(content) def run(self): self.parse() if __name__ == '__main__': xiaoshuo = Xiaoshuospider() xiaoshuo.run() ``` - 根据xpath规则我将这些信息处理以后无法找到相应小说文本内容,小说的详细信息无法使用xpath提取出来 ## 有没有哪位大佬也遇到相应的问题

python+selenuim 爬虫时,打开浏览器显示手机模式,无法用正常浏览器模式打开,跪求大神指导。

python+selenuim 爬虫时,打开浏览器显示的是手机模式,刷新后恢复成网页模式,网上查了很多资料都解决不了,跪求大神指导。 图1 自动打开的显示界面,是手机模式 ![自动打开的显示界面,是手机模式](https://img-ask.csdn.net/upload/202002/25/1582595127_684151.png) 图2 正常打开的页面显示模式 ![正常打开的页面显示模式](https://img-ask.csdn.net/upload/202002/25/1582595168_404948.png) 图3 感觉是这个JS里面的is_mobile()导致的 ![感觉是这个JS里面的is_mobile()导致的](https://img-ask.csdn.net/upload/202002/25/1582595186_612613.png) 但是我也已经设置了user-agent值了,还是出问题,而且这个情况比较随机,有时候打开正常,有时候打开是手机模式。 只是一个编程爱好者,可能问题很低级,麻烦大神指导下应该往哪个方向走,我可以自己找资料。。。 ``` from selenium import webdriver import time options = webdriver.ChromeOptions() options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36") browser = webdriver.Chrome(options=options) browser.get("https://fgo.wiki/w/%E8%8B%B1%E7%81%B5%E5%9B%BE%E9%89%B4") time.sleep(3) ```

java抓取https网页问题

public static void getDocument() throws Exception{ Map<String,String> headMap=new HashMap<String,String>(); headMap.put("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); headMap.put("Referer","https://www.vc.cn/"); headMap.put("Cookie", "Hm_lvt_a857c86b2e41abb55f29bf3e06d43818=1432969970,1432977344; _oauth-client-demo_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTIzNDNlNzhjNWVlYzNiMzhiNzBjODg1MzQzYTk1N2Y5BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMUkyRjNEQmFNZ2t4MjNzNGYydjVpa0swS1pMVWM1T21YeGUwM0M1VE9qMlk9BjsARg%3D%3D--2135b5dbf22455ae1c7e31d75e41dc49e77e8539; Hm_lpvt_a857c86b2e41abb55f29bf3e06d43818=1432977344"); headMap.put("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36"); // headMap.put("Host", "www.vc.cn"); // headMap.put("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0"); // headMap.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); // headMap.put("Accept-Language","zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"); // headMap.put("Cookie","Hm_lvt_a857c86b2e41abb55f29bf3e06d43818=1432969970,1432977344"); // headMap.put("Connection","keep-alive"); String str=HttpsUtil.doGet("https://www.vc.cn/users/5227/startups/5358", "", headMap, "gbk", 5000, 5000); if(str!=null){ Document doc=Jsoup.parse(str); System.out.println(doc); } } 目前我模拟了 百度浏览器的请求消息头(会返回404页面),注释掉的我是我模拟的火狐浏览器请求消息头(也会返回404) 这是为什么呢????????求指教啊,我到底漏了什么呢?(我如果请求首页https://www.vc.cn/是可以取到的,这两个页面用浏览器不需要跳转,可以直接访问,求解答,快爆炸了)

Python爬虫,我用bs4的find方法为什么反回的是空值?怎么解决(已解决)?

代码如下: ``` import time import random import requests import urllib from bs4 import BeautifulSoup headers=("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36") opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) class UserAgent(): def _get_UA(self,html): soup = BeautifulSoup(html, "html.parser") ip_get = [] ip_list = soup.find_all("tr") for i in range(1,len(ip_list)): ip_both = ip_list[i].find_all("td") front = ip_both[1].text+':' ip_get.append(front+ip_both[2].text) time.sleep(random.randint(15,20)) return ip_get def _get_html(self,html): if html==None: this_html=urllib.request.urlopen('https://www.xicidaili.com/nn/1') else: soup = BeautifulSoup(html,"html.parser") next_page_url = soup.find("a",class_="next_page") print(next_page_url) html = urllib.request.urlopen('https://www.xicidaili.com'+next_page_url) this_html = html return this_html ``` 错误出在_get_html方法中else里面的代码,传入的地址没有问题,我用浏览器可以正常打开地址https://www.xicidaili.com/nn/1 主运行代码如下: ``` n = User_Agent.UserAgent() ip_html = n._get_html(None) fake_ip = n._get_UA(ip_html) ip_html = n._get_html(ip_html) ``` 还有报错是这么说的: ``` Traceback (most recent call last): File "E:\java4412\spider_demo\book_spider\main.py", line 21, in <module> None ip_html = n._get_html(ip_html) File "E:\java4412\spider_demo\book_spider\User_Agent.py", line 35, in _get_html html = urllib.request.urlopen('https://www.xicidaili.com'+next_page_url) TypeError: Can't convert 'NoneType' object to str implicitly ``` 有哪位大牛帮我看看这代码哪里不对么?本小白已经要疯了。。。。。 =========================分割线================================================================= 问题已解决 原因是我原先一直用一个固定header 我找了一个别人收集的User_Agent集合,在代码中随机更换header。 更改后的代码如下: ``` class UserAgent(): def _get_UA(self,soup): headers=("User-Agent",Headers.getheaders()) opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) # soup = BeautifulSoup(html, "html.parser") ip_get = [] ip_list = soup.find_all("tr") for i in range(1,len(ip_list)): ip_both = ip_list[i].find_all("td") front = ip_both[1].text+':' ip_get.append(front+ip_both[2].text) time.sleep(random.randint(15,20)) return ip_get def _get_html_first(self): headers=("User-Agent",Headers.getheaders()) opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) this_html=urllib.request.urlopen('https://www.xicidaili.com/nn/1') soup = BeautifulSoup(this_html,"html.parser") return soup def _get_soup(self,soup): headers=("User-Agent",Headers.getheaders()) opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) next_page_url = soup.find("a",class_="next_page").get('href') print(next_page_url) html = urllib.request.urlopen('https://www.xicidaili.com'+next_page_url) soup = BeautifulSoup(html,'html.parser') return soup ``` 进行了一定的修改,可以正确运行。其中的_print()_是我为验证结果打的。

Python爬取出现Internal Server Error问题

``` import re import urllib.request fh=open('C:\\Users\\Hear-H\\Desktop\\汽车企业数据\\新建文件夹\\298.txt','w',encoding='utf-8') area='<li><span>公司地区</span>(.*?)</li>' area1=area.encode('utf-8') time='<span>成立时间</span>(.*?)</li>' time1=time.encode('utf-8') address='<span>地址</span>(.*?)</li>' address1=address.encode('utf-8') client='<p id=\"maintypicClient\">(.*?)</p>' product='<p id=\"product\">(.*?)</p>' i=0 pat='<a target=\"_blank\" href=\"(http://i.gasgoo.com/supplier/.*?)\">' headers=('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36') opener=urllib.request.build_opener() opener.addheaders=[headers] while i<100: i+=1 url="http://i.gasgoo.com/supplier/c-298/index-"+str(i)+".html" web=opener.open(url).read().decode('utf-8') rst=re.compile(pat).findall(web) rst1=list() for a in rst: if a not in rst1: rst1.append(a) rst1.pop(0) for b in rst1: pat1=b+'\">(.*?)</a>' name=re.compile(pat1).findall(web) name_d=''.join(name) url1=b website1=opener.open(url1).read().decode('utf-8').encode('utf-8') website2=opener.open(url1).read().decode('utf-8') result1=re.compile(area1).findall(website1) for c in result1: result1_d=c.decode('utf-8') result2=re.compile(time1).findall(website1) for d in result2: result2_d=d.decode('utf-8') result3=re.compile(address1).findall(website1) for e in result3: result3_d=e.decode('utf-8') result4=re.compile(client).findall(str(website2)) result4_d=''.join(result4) result5=re.compile(product).findall(str(website2)) result5_d=''.join(result5) print(name_d+'?'+result1_d+'?'+result2_d+'?'+result3_d+'?'+result4_d+'?'+result5_d+'\n') fh1=fh.write(name_d+'?'+result1_d+'?'+result2_d+'?'+result3_d+'?'+result4_d+'?'+result5_d+'\n') fh.close ``` 就是我在爬取汽车企业数据网站的时候出现了HTTPError: Internal Server Error的问题,但是我上网查的时候一般说Internal Server Error出现的时候都会有500之类的数字提示,这里也没有,所以请问各位大佬一下,出现这种情况是不是只能用代理了呢?或者还有其他的方法 ``` Traceback (most recent call last): File "<ipython-input-1-7c05d0a2c578>", line 1, in <module> runfile('C:/Users/Hear-H/Desktop/汽车企业数据/汽车企业数据挖掘.py', wdir='C:/Users/Hear-H/Desktop/汽车企业数据') File "D:\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile execfile(filename, namespace) File "D:\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "C:/Users/Hear-H/Desktop/汽车企业数据/汽车企业数据挖掘.py", line 39, in <module> website1=opener.open(url1).read().decode('utf-8').encode('utf-8') File "D:\Anaconda\lib\urllib\request.py", line 531, in open response = meth(req, response) File "D:\Anaconda\lib\urllib\request.py", line 641, in http_response 'http', request, response, code, msg, hdrs) File "D:\Anaconda\lib\urllib\request.py", line 569, in error return self._call_chain(*args) File "D:\Anaconda\lib\urllib\request.py", line 503, in _call_chain result = func(*args) File "D:\Anaconda\lib\urllib\request.py", line 649, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) HTTPError: Internal Server Error ```

python 爬取表格 获取不到数据

我使用python爬取网页表格数据的时候使用 request.get获取不到页面内容。 爬取网址为:http://data.10jqka.com.cn/rank/cxg/board/4/field/stockcode/order/desc/page/2/ajax/1/free/1/ 这是Elements ![图片说明](https://img-ask.csdn.net/upload/202002/17/1581950847_829340.jpg) ``` import os import requests from lxml import etree url='http://data.10jqka.com.cn/rank/cxg/board/4/field/stockcode/order/desc/page/2/ajax/1/free/1/' #url1='http://data.10jqka.com.cn/rank/cxg/' headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'} res = requests.get(url, headers=headers) res_elements = etree.HTML(res.text) table = res_elements.xpath('/html/body/table') print(table) table = etree.tostring(table[0], encoding='utf-8').decode() df = pd.read_html(table, encoding='utf-8', header=0)[0] results = list(df.T.to_dict().values()) # 转换成列表嵌套字典的格式 df.to_csv("std.csv", index=False) ``` res.text 里的数据为 (不包含列表数据) ``` '<html><body>\n <script type="text/javascript" src="//s.thsi.cn/js/chameleon/chameleon.min.1582008.js"></script> <script src="//s.thsi.cn/js/chameleon/chameleon.min.1582008.js" type="text/javascript"></script>\n <script language="javascript" type="text/javascript">\n window.location.href="http://data.10jqka.com.cn/rank/cxg/board/4/field/stockcode/order/desc/page/2/ajax/1/free/1/";\n </script>\n </body></html>\n' ```

为什么我用scrapy爬取谷歌应用市场却爬取不到内容?

我想用scrapy爬取谷歌应用市场,代码没有报错,但是却爬取不到内容,这是为什么? ``` # -*- coding: utf-8 -*- import scrapy # from scrapy.spiders import CrawlSpider, Rule # from scrapy.linkextractors import LinkExtractor from gp.items import GpItem # from html.parser import HTMLParser as SGMLParser import requests class GoogleSpider(scrapy.Spider): name = 'google' allowed_domains = ['https://play.google.com/'] start_urls = ['https://play.google.com/store/apps/'] ''' rules = [ Rule(LinkExtractor(allow=("https://play\.google\.com/store/apps/details",)), callback='parse_app', follow=True), ] ''' def parse(self, response): selector = scrapy.Selector(response) urls = selector.xpath('//a[@class="LkLjZd ScJHi U8Ww7d xjAeve nMZKrb id-track-click"]/@href').extract() link_flag = 0 links = [] for link in urls: links.append(link) for each in urls: yield scrapy.Request(links[link_flag], callback=self.parse_next, dont_filter=True) link_flag += 1 def parse_next(self, response): selector = scrapy.Selector(response) app_urls = selector.xpath('//div[@class="details"]/a[@class="title"]/@href').extract() print(app_urls) urls = [] for url in app_urls: url = "http://play.google.com" + url print(url) urls.append(url) link_flag = 0 for each in app_urls: yield scrapy.Request(urls[link_flag], callback=self.parse_app, dont_filter=True) link_flag += 1 def parse_app(self, response): item = GpItem() item['app_url'] = response.url item['app_name'] = response.xpath('//div[@itemprop="name"]').xpath('text()').extract() item['app_icon'] = response.xpath('//img[@itempro="image"]/@src') item['app_developer'] = response.xpath('//') print(response.text) yield item ``` terminal运行信息如下: ``` BettyMacbookPro-764:gp zhanjinyang$ scrapy crawl google 2019-11-12 08:46:45 [scrapy.utils.log] INFO: Scrapy 1.6.0 started (bot: gp) 2019-11-12 08:46:45 [scrapy.utils.log] INFO: Versions: lxml 4.2.5.0, libxml2 2.9.8, cssselect 1.0.3, parsel 1.5.1, w3lib 1.20.0, Twisted 19.2.1, Python 3.7.1 (default, Dec 14 2018, 13:28:58) - [Clang 4.0.1 (tags/RELEASE_401/final)], pyOpenSSL 18.0.0 (OpenSSL 1.1.1a 20 Nov 2018), cryptography 2.4.2, Platform Darwin-18.5.0-x86_64-i386-64bit 2019-11-12 08:46:45 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'gp', 'NEWSPIDER_MODULE': 'gp.spiders', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['gp.spiders'], 'USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'} 2019-11-12 08:46:45 [scrapy.extensions.telnet] INFO: Telnet Password: b2d7dedf1f4a91eb 2019-11-12 08:46:45 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.logstats.LogStats'] 2019-11-12 08:46:45 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2019-11-12 08:46:45 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2019-11-12 08:46:45 [scrapy.middleware] INFO: Enabled item pipelines: ['gp.pipelines.GpPipeline'] 2019-11-12 08:46:45 [scrapy.core.engine] INFO: Spider opened 2019-11-12 08:46:45 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2019-11-12 08:46:45 [py.warnings] WARNING: /anaconda3/lib/python3.7/site-packages/scrapy/spidermiddlewares/offsite.py:61: URLWarning: allowed_domains accepts only domains, not URLs. Ignoring URL entry https://play.google.com/ in allowed_domains. warnings.warn(message, URLWarning) 2019-11-12 08:46:45 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023 2019-11-12 08:46:45 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://play.google.com/robots.txt> (referer: None) 2019-11-12 08:46:46 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://play.google.com/store/apps/> (referer: None) 2019-11-12 08:46:46 [scrapy.core.engine] INFO: Closing spider (finished) 2019-11-12 08:46:46 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 810, 'downloader/request_count': 2, 'downloader/request_method_count/GET': 2, 'downloader/response_bytes': 232419, 'downloader/response_count': 2, 'downloader/response_status_count/200': 2, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2019, 11, 12, 8, 46, 46, 474543), 'log_count/DEBUG': 2, 'log_count/INFO': 9, 'log_count/WARNING': 1, 'memusage/max': 58175488, 'memusage/startup': 58175488, 'response_received_count': 2, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 1, 'scheduler/dequeued/memory': 1, 'scheduler/enqueued': 1, 'scheduler/enqueued/memory': 1, 'start_time': datetime.datetime(2019, 11, 12, 8, 46, 45, 562775)} 2019-11-12 08:46:46 [scrapy.core.engine] INFO: Spider closed (finished) ``` 求助!!!

使用Jsoup爬取天猫列表页时解析到乱码

想用Jsoup解析天猫商品搜索页面,但是解析后返回的document中所有在URL中传递的搜索关键字都变成了乱码,项目使用的是UTF-8. ``` private List<ItemInfo> getFirstPageItemInfoList() throws IOException,InterruptedException { String pageurljd = "http://search.jd.com/Search?keyword=" + pagedata.key_utf8 + "&enc=utf-8"; String pageurlaz = "http://www.amazon.cn/s/ref=nb_sb_noss_1?__mk_zh_CN=亚马逊网站&url=search-alias%3Daps&field-keywords=" + pagedata.key_utf8; String pgurltb = "https://list.tmall.com/search_product.htm?q=" + this.pagedata.key_utf8; return getFromURLs(pageurljd, pageurlaz, pgurltb); } ``` ``` public List<ItemInfo> getItemInfoList() throws IOException, InterruptedException { /** * 通过URL获得Document对象 */ // try { // String gbk=URLEncoder.encode(this.pageurl,"GBK"); // System.out.println(gbk); // } catch (UnsupportedEncodingException e) { // e.printStackTrace(); // } Document doc = Jsoup.connect(this.pageurl).userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36").timeout(3000).maxBodySize(0).post(); //Document doc = Jsoup.parse(new URL(this.pageurl).openStream(), "GBK", this.pageurl); pagedata.tbpage = this.getPageNum(doc); ``` 用浏览器查看天猫后台发现它的网页编码是meta charset=gbk,是因为这个原因吗,怎么修改好呢

刚学习用scrapy + selenium爬动态网页,但是不知道为什么就是不行,下面是代码,求大神指点!!!

MySpider里面是这样的: ``` class MySpider(scrapy.Spider): name = 'BAIScrapy' def start_requests(self): print('开始') url = 'https://www.bilibili.com/' request = scrapy.Request(url=url, callback=self.parse, dont_filter=True) request.meta['PhantomJS'] = True yield request def parse(self, response): print('Emmm...') item = BilibiliAnimeInfoScrapyItem() item['links'] = response.css('a::attr("href")').re("www.bilibili.com/bangumi/play/") ``` middlewares里面是这样的: ``` def process_reqeust(self, request, spider): print('进入selenium') driver = webdriver.PhantomJS() driver.get(request.url) element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID,'bili_bangumi'))) driver.quit() yield HtmlResponse(url=request.url, encoding='utf-8', body=driver.page_source, request=request) ``` settings里面是这样的: ``` USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1' ROBOTSTXT_OBEY = False DOWNLOADER_MIDDLEWARES = { 'bilibili_anime_info_scrapy.middlewares.BilibiliAnimeInfoScrapyDownloaderMiddleware': 543, } ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

2020春招面试了10多家大厂,我把问烂了的数据库事务知识点总结了一下

2020年截止目前,我面试了阿里巴巴、腾讯、美团、拼多多、京东、快手等互联网大厂。我发现数据库事务在面试中出现的次数非常多。

程序员如何与产品经理优雅的干架

早前,平安产险科技一名外包程序员和一名外包产品经理干架的视频几乎在互联网圈都传遍了,因为产品提了一个需求:要求用户App的主题颜色能根据手机壳自动调整。 首先说这个需求对于应用开发工程师来说,确实是有点奇葩,当然并非不能实现。这块涉及图形图像处理,用机器学习和人工智能来提取图像颜色,这是基本图像识别过程,对于采集图像,可以提示对着镜子自拍一张,上传图片,通过大量的训练数据,来识别手机体颜色。当然并...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

立即提问
相关内容推荐