record 12 爬蟲程式練習

2022-07-13 12:48:11 字數 681 閱讀 3737

#__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...