#__author: hasee#date: 2018/1/20
from urllib.request import urlopen, urlretrieve
from urllib.parse import quote
from re import findall
url = '' # 確定url
f = urlopen(url) # 利用urlopen()開啟url資源檔案
content = f.read() # 讀取檔案內容
# content=content.decode(encoding='utf-8') #將讀取到的內容解碼處理,轉換成字串
print(content)
f.close() # 關閉檔案
# 正規表示式中|符號表示或者
url_list = findall(r'img/.*png|img/.*jpg', content) # 利用正規表示式獲取網頁中所有png/jpg的url,並存放在列表中
print(url_list)
for u in url_list: # 迴圈遍歷列表,依次完成列表中每乙個url的處理
url1 = url + quote(u) # 網頁中url不完整,需要補充'',並且因為url中包含中文,利用quote方法進行編碼處理
python 協程 爬蟲
協程 又叫微執行緒 python的多執行緒沒法利用多核,只能用乙個核去切換,沒辦法實現真正的並行效果。多執行緒的意義,對於io密集型是有意義的。大部分處理都是io的,多執行緒是可以解決大多數情況的。但是解決不了並行的多程序。協程 非搶占式的程式,執行緒和程序都是搶占式的。協程也是要切換的,不過這種切...
多協程爬蟲
要實現非同步的爬蟲方式的話,需要用到多協程。同步的爬蟲方式爬取這8個 import requests,time 匯入requests和time start time.time 記錄程式開始時間 url list 把8個 封裝成列表 for url in url list 遍歷url list r r...
協程下的爬蟲
from urllib import request import gevent,time from gevent import monkey 在沒有加上此句和下一句時,執行速度理論上是一樣的,因為gevent檢測不到i o埠 monkey.patch all def f url print get...