1. 程式人生 > >製作網路爬蟲中遇到的諸多問題及解決方案

製作網路爬蟲中遇到的諸多問題及解決方案

 
   def getsourse(self,url):
        html=requests.get(url)
        html.encoding='utf-8'
        return html.text

關於html檔案轉text格式因為uft-8而出現亂碼的問題


這種呼叫requests然後把html做text處理的時候,為了防止亂碼,前面一定要加上“

html.encoding='utf-8'

”(基於網站具體的編碼方式而定),否則會出現很多意想不到的情況。

關於正則表示式的匹配規則問題


title=re.search(r'title=\\\'(.*?)\\\'>',str(lists))

我這裡實際上想要的匹配規則是前面是title=\',後面是\'>,如果我們在前面加了r的話,這裡會有正則轉義

而如果不加r,我們需要先進行字串轉義再進行正則轉義,言下之意我們需要寫成:

……好像我也不知道

關於寫入檔案時,utf-8會出現的亂碼以及檔案具體的建立模式問題

首先匯入codecs,建立檔案的時候注意用如下的方式


 

 
import codecs
f=codecs.open('text.txt','wb+','utf-8')