python單執行緒網路爬蟲

2021-07-03 12:36:33 字數 1347 閱讀 9900

源程式:以網為例

#-*-coding:utf8-*-

importrequests

importre

importsys

reload(sys)

sys.setdefaultencoding("gb18030")

type = sys.getfilesystemencoding()

html = requests.get('')

html.encoding ='utf-8'printhtml.text.encode("gb18030")

title = re.findall('color:#666666;">(.*?)',html.text,re.s)

foreachintitle:

printeach

chinese = re.findall('color: #039;">(.*?)',html.text,re.s)

foreachinchinese:

printeach

程式設計中遇到的問題及解決方案:
問題1:字元編碼格式不匹配
d:\python27\python.exe d:/pycharm/class2/test.py

traceback (most recent call last):

file "d:/pycharm/class2/test.py", line 12, in print html.text

unicodeencodeerror: 'gbk' codec can't encode character u'\xa9' in position 28478: illegal multibyte sequence

process finished with exit code 1

解決方案:將輸出字文字的編碼設為gb18030即可,**:printhtml.text.encode("gb18030")

php 單執行緒

php 從設計之初到流行起來都沒有出現明顯需要用多執行緒才能解決的需求。某些需要用到多執行緒的地方也有相應的解決方案和替代方案。多執行緒並不總是比單執行緒優,多執行緒可能會引入其他問題 例如 兩個執行緒同時呼叫乙個類裡的同乙個方法時,可能出現死鎖的情況 每個 php 檔案的執行是單執行緒的,但是,伺...

Redis單執行緒

redis 的單執行緒主要是指 redis 的網路 io 和鍵值對讀寫是由乙個執行緒來完成的,這也是 redis 對外提供鍵值儲存服務的主要流程。當多個客戶端發起命令,這些命令併發執行時,在redis內部,會排隊逐個執行,也就是執行命令的那個操作是由乙個執行緒執行的。但 redis 的其他功能,比如...

單執行緒時代

了解了 reactor 模式後,你可能會有乙個疑問,這個和我們今天的主題有什麼關係呢。可能你不知道的是,redis 是基於 reactor 單執行緒模式來實現的。io多路復用程式接收到使用者的請求後,全部推送到乙個佇列裡,交給檔案分派器。對於後續的操作,和在 reactor 單執行緒實現方案裡看到的...