真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python爬蟲(chóng)函數(shù)解碼 py爬蟲(chóng)代碼

python爬蟲(chóng)抓下來(lái)的網(wǎng)頁(yè),中間的中文亂碼怎么解決

對(duì)于python的中文編碼問(wèn)題可以參考下面的帖子

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),金鄉(xiāng)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:金鄉(xiāng)等地區(qū)。金鄉(xiāng)做網(wǎng)站價(jià)格咨詢:18980820575

同時(shí),對(duì)于網(wǎng)頁(yè)的中文亂碼,建立使用requests模塊代替urllib\urllib2

requests的content方法,對(duì)中文編碼,支持比較好,基本不會(huì)出現(xiàn)亂碼。

req=requests.get(url,cookies=mecookies)

print req.content

具體用法,參見(jiàn)下面兩個(gè)帖子,較詳細(xì):

python3爬蟲(chóng)urllib.request.urlopen("網(wǎng)址").read() 本來(lái)是utf-8,為什么還要加上urlencode(“utf-8”)

你這行代碼是不需要urlencode()的。

對(duì)于返回的request對(duì)象,其read()方法獲得的其實(shí)是一個(gè)字節(jié)流對(duì)象,而非字符串對(duì)象,所以這時(shí)需要調(diào)用該字節(jié)流對(duì)象的decode()方法,按指定編碼方式進(jìn)行解碼。

至于urlencode(),這是urllib中的一個(gè)函數(shù),它的作用是將字符串進(jìn)行url編碼。這個(gè)編碼其實(shí)就是個(gè)轉(zhuǎn)義的過(guò)程,將那些因可能造成解釋器誤會(huì)或安全問(wèn)題而不適合出現(xiàn)在請(qǐng)求中的符號(hào)進(jìn)行轉(zhuǎn)義,并且把超出url編碼表的字符降維。

如何入門 Python 爬蟲(chóng)

爬蟲(chóng)我也是接觸了1個(gè)月,從python小白到現(xiàn)在破譯各種反爬蟲(chóng)機(jī)制,我給你說(shuō)說(shuō)我的方向:

1、學(xué)習(xí)使用解析網(wǎng)頁(yè)的函數(shù),例如:

import?urllib.request

if?__name__?==?'__main__':

url?=?"..."

data?=?urllib.request.urlopen(url).read()?????#urllib.request.urlopen(需要解析的網(wǎng)址)

data?=?data.decode('unicode_escape','ignore')?#用unicode_escape方式解碼

print(data)

2、學(xué)習(xí)正則表達(dá)式:

正則表達(dá)式的符號(hào)意義在下面,而正則表達(dá)式是為了篩選出上面data中的信息出來(lái),例如:

def get_all(data):

reg = r'(search.+)(" )(mars_sead=".+title=")(.+)(" data-id=")'

all = re.compile(reg);

alllist = re.findall(all, data)

return alllist

3、將得到的結(jié)果壓進(jìn)數(shù)組:

if?__name__?==?'__main__':

info = []

info.append(get_all(data))

4、將數(shù)組寫進(jìn)excel:

import xlsxwriter

if?__name__?==?'__main__':

info = []

info.append(get_all(data))

workbook = xlsxwriter.Workbook('C:\\Users\\Administrator\\Desktop\\什么文件名.xlsx') ?# 創(chuàng)建一個(gè)Excel文件

worksheet = workbook.add_worksheet() ?# 創(chuàng)建一個(gè)工作表對(duì)象

for i in range(0,len(info)):

worksheet.write(行, 列, info[i], font)#逐行逐列寫入info[i]

workbook.close()#關(guān)閉excel

一個(gè)簡(jiǎn)單的爬蟲(chóng)搞定,爬蟲(chóng)的進(jìn)階不教了,你還沒(méi)接觸過(guò)更加看不懂


名稱欄目:python爬蟲(chóng)函數(shù)解碼 py爬蟲(chóng)代碼
分享網(wǎng)址:http://weahome.cn/article/dosijsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部