導航:首頁 > 編程語言 > python怎麼設置urlopen

python怎麼設置urlopen

發布時間:2024-05-01 23:40:06

python程序問題:urlopen()控制

使用try...except來對urlopen出錯進行控制,通過socket模塊的setdefaulttimeout函數來控制超時時間,python3.x示例代碼如下:

importurllib.request
importsocket

socket.setdefaulttimeout(10)#設置超時時間
#要下載的網頁列表
urls=['http://www.test.com/1.htm',
'http://www.test.com/2.htm',
'http://www.test.com/3.htm',
'http://www.test.com/4.htm',
'http://www.test.com/5.htm',
'http://www.test.com/6.htm']
forurlinurls:
try:
html=urllib.request.urlopen(url)
#處理得到的網頁
except:
#出錯處理

⑵ 如何用python把網頁上的文本內容保存下來

1、了解Python如何獲取網頁內容。

⑶ python 2.7 urlopen 函數,如何提高下載速度.

可以使用多進程或多線程並發下載。其實你的方法已經是多進程的一種了。


python中有多進程模塊multiprocessing和多線程multithreading。


思路是這樣,將需要下載的連接送入隊列,然後各個進程(或線程)從隊列里拿任務然後下載。前面的兩個類庫都提供進程、線程安全的隊列。


樓下給了個多線程的示例,這里我給一個稍微復雜點的進程的示例。其實線程和進程庫的介面基本是一致的。

#!/usr/bin/envpython
#encoding=utf-8
#test.py

,Process
fromQueueimportEmpty
importurllib
importtime

urls=[line.strip()forlineinopen('urls.txt')]
queue=Queue(1024)

forurlinurls:
queue.put(url)

defdownload():
whileTrue:
try:
url=queue.get()
f=urllib.urlopen(url)
r=f.read()
#這里保存你下載的文件
exceptEmpty:
time.sleep(5)
exceptException,e:
print'downloaderror:%s'%e

foriinrange(10):
p=Process(target=download)
p.start()
p.join()


使用方法:編輯一個文件urls.txt,每行一個url。然後:

nohup./test.py&


結束進程則需要找到它的進程號,然後kill -9


望採納,謝謝支持!

⑷ python3中使用urllib進行https請求

剛入門python學習網路爬蟲基礎,我使用的python版本是python3.6.4,學習的教程參考 Python爬蟲入門教程

python3.6的版本已經沒有urllib2這個庫了,所以我也不需要糾空帶結urllib和urllib2的區別和應用場景

參考這篇官方文檔 HOWTO Fetch Internet Resources Using The urllib Package 。關於http(s)請求一般就get和post兩種方式較為常用衡並,所以寫了以下兩個小demo,url鏈接隨便找的,具體場景具體變化,可參考注釋中的基本思路

POST請求:

GET請求:

注意,
使用ssl創建未經驗證的上下文,在urlopen中需傳入上下文參數
urllib.request.urlopen(full_url, context=context)
這是Python 升級到 2.7.9 之後引入的一個新特性,所以在使用urlopen打開https鏈接會遇到如下報錯:
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
所以,當使用urllib.urlopen打開一個 https 鏈接時,需要先驗證一次 SSL 證書
context = ssl._create_unverified_context()
或者或者導入ssl時關閉斗攔蘆證書驗證
ssl._create_default_https_context =ssl._create_unverified_context

⑸ 如何用python的urlopen打開自動跳轉的網頁

try this:

import sys,re,urllib2,cookielib
def download(url):
____opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
____opener.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)')]
____f = opener.open(url)
____s = f.read()
____f.close()
____return s
s = download("http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-2403")
print s

⑹ 關於python的urlopen

python 3裡面,bytes存放的是binary data,而str存放的text

從bytes轉到str,需要把binary data解碼,因此你需要指定一個編碼,例如:
my_str = str(my_bytes, encoding="utf-8")

建議閱讀文檔:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
http://docs.python.org/release/3.0.1/howto/unicode.html#unicode-howto

這兩段文檔應該足夠解決你的困惑,呵呵

⑺ 關於python urlopen函數

python
3裡面,bytes存放的是binary
data,而str存放的text
從bytes轉到str,需要把binary
data解碼,因此你需要指定一個編碼,例如:
my_str
=
str(my_bytes,
encoding="utf-8")
建議閱讀文檔:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
http://docs.python.org/release/3.0.1/howto/unicode.html#unicode-howto
這兩段文檔應該足夠解決你的困惑,呵呵

閱讀全文

與python怎麼設置urlopen相關的資料

熱點內容
lattice編程軟體 瀏覽:187
如何打開後台伺服器 瀏覽:335
格力空調壓縮機阻值 瀏覽:552
噴碼機的單片機原理 瀏覽:842
如何評估一個演算法的效益率 瀏覽:205
線性代數輔導pdf 瀏覽:991
貴州戴爾伺服器創新服務雲主機 瀏覽:559
如何在小米電視上安裝電視家app 瀏覽:182
蘋果手機如何隱藏單個app軟體 瀏覽:963
多路伺服器有什麼用 瀏覽:859
如何找培訓班app 瀏覽:580
臨時文件夾怎麼轉到其他盤 瀏覽:179
android布局按比例 瀏覽:602
安卓模擬器怎麼能當手機用 瀏覽:885
手機怎樣查看伺服器ip地址沖突 瀏覽:812
程序員有沒有必要找家教 瀏覽:783
什麼編譯器可以帶c11函數 瀏覽:18
如何理解程序員對自己電腦的感情 瀏覽:525
什麼是簡訊app 瀏覽:752
我的世界伺服器啟動器下載地址 瀏覽:790