鍍金池/ 問答/ Python問答
尐飯團 回答

csv.writer.writerow() 一次寫入一行,你只需要把 wordcount 、文章數(shù)、點擊量 一同寫入便可。
像這樣

writer.writerow([1, 30, 1000])
氕氘氚 回答

前端直接帶上用戶名, 密碼等參數(shù)向后臺發(fā)請求, 怕密碼安全問題就上https或約定好加解密方式, 后端嚴驗證用戶名和密碼匹配后, 將用戶信息存到session里面, response帶上session_id給前端設置cookie就完了.

醉淸風 回答

不知道是不是你想要的
圖片描述

老梗 回答

真正的端口是頁面加載完用 js 替換的。審查頁面元素有個加密的 mian.js :

eval(function (p, a, c, k, e, d) { e = function (c) { return (c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) d[e(c)] = k[c] || e(c); k = [function (e) { return d[e] }]; e = function () { return '\\w+' }; c = 1; }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p; }('$(e(){$(\'\\f\\3\\g\\8\\1\\r\\p\\g\\k\')["\\4\\2\\q\\o"](e(u,h){5 7=$(h);5 j=7["\\i\\2\\1\\2"](\'\\a\\3\');5 9=l["\\3\\2\\8\\d\\4\\m\\b\\1"](7["\\i\\2\\1\\2"](\'\\a\'));5 c=j["\\d\\3\\n\\a\\1"](\'\\f\');t(5 6=0;6<c["\\n\\4\\b\\s\\1\\o"];6++){9-=l["\\3\\2\\8\\d\\4\\m\\b\\1"](c[6])}7["\\1\\4\\k\\1"](9)})})', 31, 31, '|x74|x61|x70|x65|var|d7|ClpoEy3|x72|TO5|x69|x6e|tVF6|x73|function|x2e|x6f|fnDKXroKU2|x64|jgemfCG4|x78|window|x49|x6c|x68|x62|x63|x2d|x67|for|wssP1'.split('|'), 0, {}))

在線解密一下得到:

$(function()
    {
    $('\x2e\x70\x6f\x72\x74\x2d\x62\x6f\x78')["\x65\x61\x63\x68"](function(wssP1,fnDKXroKU2)
        {
        var ClpoEy3=$(fnDKXroKU2);
        var jgemfCG4=ClpoEy3["\x64\x61\x74\x61"]('\x69\x70');
        var TO5=window["\x70\x61\x72\x73\x65\x49\x6e\x74"](ClpoEy3["\x64\x61\x74\x61"]('\x69'));
        var tVF6=jgemfCG4["\x73\x70\x6c\x69\x74"]('\x2e');
        for(var d7=0;
        d7<tVF6["\x6c\x65\x6e\x67\x74\x68"];
        d7++)
            {
            TO5-=window["\x70\x61\x72\x73\x65\x49\x6e\x74"](tVF6[d7])
        }
        ClpoEy3["\x74\x65\x78\x74"](TO5)
    }
    )
}
)

十六進制轉為字符串之后得到:

$(function() {
    $('.port-box')["each"](function(wssP1, fnDKXroKU2) {
        var ClpoEy3 = $(fnDKXroKU2);
        var jgemfCG4 = ClpoEy3["data"]('ip');
        var TO5 = window["parseInt"](ClpoEy3["data"]('i'));
        var tVF6 = jgemfCG4["split"]('.');
        for (var d7 = 0; d7 < tVF6["length"]; d7++) {
            TO5 -= window["parseInt"](tVF6[d7])
        }
        ClpoEy3["text"](TO5)
    })
})

從代碼可以看出,真實的端口是 .prot-box 里 data-ip 屬性值 減去 ip 的四位數(shù)之和

淺淺 回答

你爬這個網(wǎng)站怎么實現(xiàn)翻頁的繼續(xù)爬的?

瞄小懶 回答

看情況是沒有安裝urllib3,可以先使用pip安裝了urllib3。

痞性 回答

你的編譯器的問題?
OS 10.11.6 python2.7 python3.6均正常,內(nèi)存無泄漏,你在終端里運行看看,我估計是你的編譯器的問題

def garbage():
    task1 = {}
    task = {'action': 'test', 'args': task1}
    task1['args'] = task
    
# garbage寫成這樣才會出現(xiàn)314m內(nèi)存,內(nèi)存泄漏
獨特范 回答

代理連接授權出錯,再多檢查試錯下。

Caused by ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required'
獨特范 回答
pip install bs4
pip install lxml
import re
import requests
from bs4 import BeautifulSoup
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
    'Referer': 'http://cq.jiaoyubao.cn/',
    'Host': 'cq.jiaoyubao.cn',
    'Upgrade-Insecure-Requests': '1',
}

r = requests.get('http://cq.jiaoyubao.cn/cn/xiaoxue/', headers=headers)

soup = BeautifulSoup(r.content, 'lxml')
print(soup.prettify())
抱緊我 回答

單單看控制臺的錯誤信息的話,應該是頁面中用到了textContent這個字段,但是這個字段的值為null,可以看下接口響應參數(shù)中textContent字段是否有值,或者查看一下頁面中用到textContent的地方,做下非空判斷

還吻 回答

Python2版本里的/運算結果取整數(shù),例如:

5 / 2 = 2;
2 / 3 = 0;

到了Python3里就變了;

5 / 2 = 2.5;
2 / 3 = 0.66...;

再有就是Python2Python3兩個版本有些地方差別還是比較大的,兩個版本不是兼容的,使用時注意區(qū)分Python的版本;

失魂人 回答

這是我的 pyblog 項目里的 models.py —— 希望對你有用
https://github.com/eastossifrage/pyblog/blob/master/app/models.py

請?zhí)貏e關注對 articles 類的定義,建議你把想要查詢的內(nèi)容,直接做成為某個類的屬性,記得前面加上裝飾器 @property。

舊城人 回答

為何要用正則進行匹配替換,如果是整個HTML文檔,那么你可以借用 beautifulsoup 進行解析后,批量修改。

蝶戀花 回答

換 IP 已經(jīng)超出 selenium 的范圍,常見的手法如重新?lián)芴枴⒏鼡Q代理服務器等等。

心癌 回答

可能有反爬蟲手段,selenium還是有些特征的,比如全局對象中會有一些特殊屬性。

避風港 回答

我發(fā)現(xiàn)flask-appbuilder的API URL其實是由sqlalchemy導出的,專為其后臺網(wǎng)頁的AJAX目的而設計。所以不完全符合RESTFul的架構。而flask-restful則是根據(jù)RESTFul而設計導出的,其路徑可以有用戶自定義。

一般來說,針對Web、Mobile、前端的API,還是有所差異的。差異在于Web是固定IP的,而Mobile和瀏覽器前端IP不定,甚至是隱藏IP。這導致三者間鎖定和鑒權方式不一致。Web鎖定domain/IP,瀏覽器鎖定Referrer,Mobile無法鎖定。此外,對于apiKey/apiSecret/nouce/signature/TLS,以及登陸用戶的username/password等信息都通過session/cookie進行保存。

心夠野 回答
<iframe  height="500px" width="100%" src="https://www.baidu.com" frameborder="0"></iframe>
遺莣 回答
  1. 檢查你的443端口是否開放了:
openssl s_client -connect example.com:443
  1. 改成廣義設定:
<VirtualHost [ip address]:443> 改成 <VirtualHost *:443>

更詳細的參看: https://stackoverflow.com/que...

九年囚 回答

intersect函數(shù)的作用是"找出交集", 交集的元素是在每個集合都出現(xiàn)的元素, 如果元素a在集合A1中不存在, 那么它就肯定不在交集中, 沒必要去檢查剩下的集合A2, A3... 所以第一輪以1去檢查[2, 8, 16, 32, 64, 128], 發(fā)現(xiàn) 1 not in a[1] 那么不需要去檢查 a[2]了, 就break, 接著用2去檢查.