python 爬蟲中文亂碼

2021-10-16 11:24:46 字數 1434 閱讀 1166

import requests

import chardet

from lxml import etree

from bs4 import beautifulsoup

res = requests.get(

"要爬取的網頁"

)#chardet 自動檢測字元的編碼

res.encoding = chardet.detect(res.content)

['encoding'

]html = etree.html(res.text)

prefix =

'**的字首'

#根據網頁原始碼中的路徑找到需要的結果

links = html.xpath(

'//div[@class="mod-news-3"]/ul/li/a/@href'

)#獲得網頁原始碼中的鏈結

item =

for i in

range

(len

(links)):

url = links[i][1

:]url = prefix+

str(url)

item[i]

= url

from bs4 import beautifulsoup

import requests

url =

'要爬的網頁'

r = requests.get(url)

r.encoding=

'utf-8'

#此處改為網頁原始碼的編碼格式,解決中文亂碼

demo = r.text # 伺服器返回響應

soup = beautifulsoup(demo,

"html.parser"

)"""

demo 表示被解析的html格式的內容

html.parser表示解析用的解析器

"""print

(soup)

# 輸出響應的html物件

print

(soup.prettify())

# 使用prettify()格式化顯示輸出

print

(soup.title)

# 獲取html的title標籤的資訊

print

(soup.a)

# 獲取html的a標籤的資訊(soup.a預設獲取第乙個a標籤,想獲取全部就用for迴圈去遍歷)

print

(soup.a.name)

# 獲取a標籤的名字

print

(soup.a.parent.name)

# a標籤的父標籤(上一級標籤)的名字

print

(soup.a.parent.parent.name)

# a標籤的父標籤的父標籤的名字

python 爬蟲中文亂碼

許多小夥伴在python爬蟲中遇到中文亂碼的問題。都以為是編碼錯誤,其實真正的原因 是檔案被壓縮了 直接上 加上紅色這段 就ok!import zlib import urllib2 import sys typeencode sys.getfilesystemencoding request ur...

python 爬蟲中文亂碼問題

在爬取 是遇到requests得到的respone為 先用import urllib import urllib.parse urllib.parse.unquote res.text 得到 然後我們直接把 replace一下 urllib.parse.unquote res.text replac...

python爬蟲中文亂碼問題

iso 8859 1 gb2312 gb2312 說明預設的解析 iso 8859 1 不正確,應該用gb2312解碼。2 gb2312解碼過程中提示 gb2312 codec can t decode byte 0xf3 in position 67376 錯誤,大概意思是說解碼沒錯,但在某個位置...