gpt4 book ai didi

python - 在胡言乱语中以美丽的结果进行抓取

转载 作者:行者123 更新时间:2023-12-01 01:55:01 24 4
gpt4 key购买 nike

我正在尝试使用 BeautifulSoup4 抓取网站,但是 body 标记之后的所有内容都是乱码,并且会破坏终端。该网站使用 utf-8 标记,因此我尝试了解码和不同的 html 解析器,包括 html.parser 和 lxml。

obsObj = BeautifulSoup(html.read().decode('utf-8','ignore'), "html5lib")
print(bsObj.prettify())

结果:

<html>
<head>
</head>
<body>
}zƲu}y┴(M։ʖO┬┌;R° ─H$D◆P⎼^▒&▒└⎻;\␍␍ (Q│P]]]U]]U£œ␉NG/?5˶ض&±├;ӗ/D&▒└⎻;·GW5Q߶/..(ڧ?ڗV*V┘┌[;≥⎻^N0T4ۓ┐'┴┘S7׏; њ#─K

网站中的相关行是:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da" dir="ltr" class="js"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

最佳答案

这对我来说效果很好......

from bs4 import BeautifulSoup as bs4
import requests
import html5lib


def get_data():

url = 'http://www.fdm.dk/bildatabasen/mazda/mazda3/15-100-hk/6-man-core-2017'
r = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"})
html_bytes = r.text
soup = bs4(html_bytes, 'html5lib')

res = soup.find("body")
print(res.prettify())

return res

test1 = get_data()

返回

<body>
<header id="header">
<div id="logo-section-desktop">
<div class="rowf">
<div class="small-12 medium-3 large-3 columns">
<a href="/" id="desktop-logo">
FDM
</a>
</div>
<div class="small-12 medium-9 large-9 columns">
<ul class="top-navigation inline-list">
<li>
<a href="https://fdm.dk/alt-om-biler/vild-med-biler/motor">
Motor
</a>
</li>
...

关于python - 在胡言乱语中以美丽的结果进行抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50308423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com