在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/ Python問(wèn)答
孤毒 回答

403 Forbidden 錯(cuò)誤,大多是被服務(wù)器屏蔽了,拒絕提供返回內(nèi)容

一般可以通過(guò)更換服務(wù)器ip、設(shè)置代理服務(wù)器,去爬取

最好的辦法,是通過(guò)模擬瀏覽器人工采集爬取

selenium + xvfb + firefox + proxy ip

下面是我的解決方案,僅供參考,相互學(xué)習(xí)

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.proxy import *
from pyvirtualdisplay import Display
# from xvfbwrapper import Xvfb

import bs4, os
from base64 import b64encode

import sys
reload(sys)
sys.setdefaultencoding('utf8')


## webdriver + firefox (不使用代理,爬取網(wǎng)頁(yè))
def spider_url_firefox(url):
    browser = None
    display = None
    try:
        display = Display(visible=0, size=(800, 600))
        display.start()
        browser = webdriver.Firefox()       # 打開(kāi) FireFox 瀏覽器
        browser.get(url)     
        content = browser.page_source
        print("content: " + str(content))
    finally:
        if browser: browser.quit()
        if display: display.stop()


## webdriver + firefox + proxy + whiteip (無(wú)密碼,或白名單ip授權(quán))
## 米撲代理:https://proxy.mimvp.com
def spider_url_firefox_by_whiteip(url):
    browser = None
    display = None
    
    ## 白名單ip,請(qǐng)見(jiàn)米撲代理會(huì)員中心: https://proxy.mimvp.com/usercenter/userinfo.php?p=whiteip
    mimvp_proxy = { 
                    'ip'            : '140.143.62.84',      # ip
                    'port_https'    : 19480,                # http, https
                    'port_socks'    : 19481,                # socks5
                    'username'      : 'mimvp-user',
                    'password'      : 'mimvp-pass'
                  }
    
    try:
        display = Display(visible=0, size=(800, 600))
        display.start()
        
        profile = webdriver.FirefoxProfile()
        
        # add proxy
        profile.set_preference('network.proxy.type', 1)     # ProxyType.MANUAL = 1
        if url.startswith("http://"):
            profile.set_preference('network.proxy.http', mimvp_proxy['ip'])
            profile.set_preference('network.proxy.http_port', mimvp_proxy['port_https'])    # 訪問(wèn)http網(wǎng)站
        elif url.startswith("https://"):
            profile.set_preference('network.proxy.ssl', mimvp_proxy['ip'])
            profile.set_preference('network.proxy.ssl_port', mimvp_proxy['port_https'])     # 訪問(wèn)https網(wǎng)站
        else:
            profile.set_preference('network.proxy.socks', mimvp_proxy['ip'])
            profile.set_preference('network.proxy.socks_port', mimvp_proxy['port_socks'])
            profile.set_preference('network.proxy.ftp', mimvp_proxy['ip'])
            profile.set_preference('network.proxy.ftp_port', mimvp_proxy['port_https'])
            profile.set_preference('network.proxy.no_proxies_on', 'localhost,127.0.0.1')
        
        ## 不存在此用法,不能這么設(shè)置用戶名密碼 (舍棄)
#         profile.set_preference("network.proxy.username", 'mimvp-user')
#         profile.set_preference("network.proxy.password", 'mimvp-pass')
    
        profile.update_preferences()
        
        browser = webdriver.Firefox(profile)       # 打開(kāi) FireFox 瀏覽器
        browser.get(url)     
        content = browser.page_source
        print("content: " + str(content))
    finally:
        if browser: browser.quit()
        if display: display.stop()
選擇 回答

對(duì)方是否有csrf校驗(yàn),你需要看cookie里面或者get請(qǐng)求時(shí)是否有特殊token

選擇 回答

這個(gè)代理IP已經(jīng)失效,換其他代理IP測(cè)試

import requests

url = 'http://ip.chinaz.com/getip.aspx'
proxy = {'http': 'http://177.130.55.164:20183',
         'https': 'https://177.130.55.164:20183'}

r = requests.get(url, proxies=proxy, timeout=1)
print r.text
失魂人 回答

你是說(shuō)這樣?

import re

data = '''
Name Server: ns3.baidu.com
Name Server: ns2.baidu.com
Name Server: dns.baidu.com
Name Server: ns7.baidu.com
Name Server: ns4.baidu.com
'''

pattern = re.compile('Name Server: (.*)')

result = pattern.findall(data)

print(result)

結(jié)果:['ns3.baidu.com', 'ns2.baidu.com', 'dns.baidu.com', 'ns7.baidu.com', 'ns4.baidu.com']

話寡 回答

res.render已經(jīng)輸出渲染視圖了,此時(shí)不應(yīng)該再調(diào)用next,會(huì)傳遞到下一個(gè)方法重復(fù)輸出

笑浮塵 回答

* 這是文件的通配符, *.png代表后綴名為.png的任何文件

玩控 回答

因?yàn)閮蓚€(gè)線程里一直在while True,可以增加一個(gè)結(jié)束信號(hào),例如給隊(duì)列里發(fā)送一個(gè)-1,線程接受到的話退出while循環(huán),要注意兩個(gè)隊(duì)列都要發(fā)送結(jié)束信號(hào)。

囍槑 回答

+代碼增加代碼,-代表刪除,而+++-,個(gè)人理解就是說(shuō)發(fā)生了多次改動(dòng),包含增加、刪除代碼,因?yàn)槟阏f(shuō)是git pull下來(lái)的,他可能就不是說(shuō)僅代表此次對(duì)文件的修改,可能還包含前幾次你的提交里對(duì)該文件的修改,或者說(shuō),有分支,然后另一開(kāi)發(fā)者也對(duì)該文件進(jìn)行了修改,記錄的總數(shù)

臭榴蓮 回答

兄弟你最后解決了這個(gè)問(wèn)題嗎?

小曖昧 回答

logger 部分加上你想打日志的地方就行了, 一般加 app 名稱(chēng)就行了, 下面是一個(gè)例子, 具體的, 還是建議去看官方文檔, 那里面說(shuō)的更加詳細(xì)點(diǎn).

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] '
                      '[%(levelname)s]- %(message)s'}
    },
    'filters': {
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'include_html': True,
            },
        'default': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'log/all.log',
            'maxBytes': 1024*1024*5,
            'backupCount': 5,
            'formatter': 'standard',
        },
        'error': {
            'level': 'ERROR',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'log/error.log',
            'maxBytes': 1024*1024*5,
            'backupCount': 5,
            'formatter': 'standard',
            },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'standard'
        },
        'request_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'log/script.log',
            'maxBytes': 1024*1024*5,
            'backupCount': 5,
            'formatter': 'standard',
            },
        'scprits_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'log/script.log',
            'maxBytes': 1024*1024*5,
            'backupCount': 5,
            'formatter': 'standard',
            }
    },
    'loggers': {
        'django': {
            'handlers': ['default', 'console'],
            'level': 'DEBUG',
            'propagate': False
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False,
            },
        'scripts': {
            'handlers': ['scprits_handler'],
            'level': 'INFO',
            'propagate': False
        },
        'blog.views': {
            'handlers': ['default', 'error'],
            'level': 'DEBUG',
            'propagate': True
        },
    }
}
詆毀你 回答

問(wèn)題解決了 沒(méi)有創(chuàng)建imagess目錄

囍槑 回答

你這個(gè)問(wèn)題在post_data里面
clipboard.png
這一塊的數(shù)據(jù)應(yīng)該寫(xiě)成字符串格式,否則requests對(duì)post_data數(shù)據(jù)進(jìn)行解析的時(shí)候會(huì)出偏差
或者你可以用data = urllib.parse.urlencode(post_data)這樣預(yù)處理一下再post

空痕 回答

為什么要把文件直傳服務(wù)器,七牛呢,傳七牛然后返回文件名
有時(shí)候太久會(huì)報(bào)TimeOut錯(cuò)誤.這個(gè)問(wèn)題調(diào)整nginx的配置就可以
但是不建議直傳大文件

故林 回答

沒(méi)猜錯(cuò)的話,這兩句代碼的問(wèn)題

print(f.read())    # 已經(jīng)把內(nèi)容讀完了
str=f.read()       # 所以 str 是空的

換成這樣試下:

str=f.read() 
print(str)
鹿惑 回答

檢查一下MIDDLEWARE_CLASSES里是否開(kāi)啟了django.contrib.auth.middleware.AuthenticationMiddleware

另外最好的調(diào)試方法是斷點(diǎn)一步步看看是什么原因

任她鬧 回答

之前裝過(guò)VSCode的open in browser插件,不成功。然后裝了Live server這個(gè)插件。配置好然后運(yùn)行之后,可以直接以localhost的方式打開(kāi)你的頁(yè)面。
或者直接配置一個(gè)本地的服務(wù)器,通過(guò)訪問(wèn)網(wǎng)址的方式訪問(wèn)到你的工作目錄,這種方法最穩(wěn)定。

薄荷綠 回答

大哥你仔細(xì)看你的代碼,你要return的data被for循環(huán)覆蓋了,第二個(gè)代碼你用了print(),當(dāng)然每次循環(huán)只是把data打印出來(lái)了

舊酒館 回答

item = NewsItem()
這句放到循環(huán)里面。

兔囡囡 回答

LineSentence類(lèi)的要求是:

Simple format: one sentence = one line; words already preprocessed and separated by     whitespace

你需要自己簡(jiǎn)單預(yù)處理一下。

現(xiàn)在比較流行的是doc2vec,有興趣可以看下:https://segmentfault.com/a/11...