Python:使用BeautifulSoup解析锚文本

Python:使用BeautifulSoup解析锚文本,python,encoding,beautifulsoup,Python,Encoding,Beautifulsoup,我试图从一个网站解析锚文本(示例:梅赛德斯-奔驰,308,萨维瓦尔čiai) 使用:Python 3.4 <h2 class="title-list"><a href="http://auto.plius.lt/skelbimai/mercedes-benz-308-savivarciai-3876306.html" title="Mercedes-Benz, 308, savivarčiai" onclick="OpenNamedPopup('http://auto.pliu

我试图从一个网站解析锚文本(示例:梅赛德斯-奔驰,308,萨维瓦尔čiai

使用:Python 3.4

<h2 class="title-list"><a href="http://auto.plius.lt/skelbimai/mercedes-benz-308-savivarciai-3876306.html" title="Mercedes-Benz, 308, savivarčiai" onclick="OpenNamedPopup('http://auto.plius.lt/skelbimai/mercedes-benz-308-savivarciai-3876306.html', 'A3876306'); return false;">Mercedes-Benz, 308, savivarčiai</a>&nbsp;</h2>
但我得到的回报是一堆线,没有

我的第二个问题是关于编码每当我试图打印一些东西时,我都会遇到编码问题

像这样:

import requests
from bs4 import BeautifulSoup

def autoplius():

    url = "http://auto.plius.lt/skelbimai/krovininis-transportas/sunkvezimiai?make_date_from=1989&make_date_to=1997&make_id=4169"
    r = requests.get(url)
    plain_text = r.text
    soup = BeautifulSoup(plain_text)

    for link in soup.findAll('h2',{'class':'title-list'}):
        ahref = link.find('a')

        print(ahref.get('ahref'))


autoplius()
UnicodeEncodeError: 'charmap' codec can't encode character '\x8d' in position 248: character maps to <undefined>
问题已解决


我安装了PyCharm,它在PyCharm控制台上工作。问题是我的windows终端没有显示拉丁字符。

请求。内容
处理编码并从
a
标记获取文本:

def autoplius():    
    url = "http://auto.plius.lt/skelbimai/krovininis-transportas/sunkvezimiai?make_date_from=1989&make_date_to=1997&make_id=4169"
    r = requests.get(url)
    plain_text = r.content
    print(plain_text)
    soup = BeautifulSoup(plain_text)

    for link in soup.findAll('h2',{'class':'title-list'}):
        print(link.a.text)


Mercedes-Benz, 308, savivarčiai
Mercedes-Benz, 609, kietašoniai
Mercedes-Benz, 308, bortiniai
Mercedes-Benz, 609, Šaldytuvai
Mercedes-Benz, 609, Šaldytuvai
Mercedes-Benz, 1114, važiuoklės
Mercedes-Benz, 3344AK, savivarčiai
Mercedes-Benz, 814, važiuoklės
Mercedes-Benz, 308, Šaldytuvai
Mercedes-Benz, 609, dviguba kabina
Mercedes-Benz, 609, Šaldytuvai
Mercedes-Benz, HMF 1150, savivarčiai su kranu
Mercedes-Benz, sprinter 312, kietašoniai
Mercedes-Benz, 814, Šaldytuvai
Mercedes-Benz, Sprinter 208, bortiniai
Mercedes-Benz, SPRINTER 308D, bortiniai
Mercedes-Benz, Sprinter 212 TDi, bortiniai
Mercedes-Benz, 711 MAXI, kietašoniai
Mercedes-Benz, 814, bortiniai
Mercedes-Benz, 208, bortiniai
Citroen Grand C4 Picasso

运行您的代码时仍然出现编码错误:“UnicodeEncodeError:“charmap”编解码器无法对位置27中的字符“\u010d”进行编码:字符映射到“”从bs4导入请求导入BeautifulSoup def autoplus():url=”“r=requests.get(url)plain_text=r.content-soup=BeautifulSoup(plain_text)中的链接,{'class':'title-list'}):打印(link.a.text)autoplus()'用信息编辑我的主要问题发布答案。错误:UnicodeEncodeError:'charmap'编解码器无法对位置27中的字符'\u010d'进行编码:字符映射到任何其他建议?
def autoplius():    
    url = "http://auto.plius.lt/skelbimai/krovininis-transportas/sunkvezimiai?make_date_from=1989&make_date_to=1997&make_id=4169"
    r = requests.get(url)
    plain_text = r.content
    print(plain_text)
    soup = BeautifulSoup(plain_text)

    for link in soup.findAll('h2',{'class':'title-list'}):
        print(link.a.text)


Mercedes-Benz, 308, savivarčiai
Mercedes-Benz, 609, kietašoniai
Mercedes-Benz, 308, bortiniai
Mercedes-Benz, 609, Šaldytuvai
Mercedes-Benz, 609, Šaldytuvai
Mercedes-Benz, 1114, važiuoklės
Mercedes-Benz, 3344AK, savivarčiai
Mercedes-Benz, 814, važiuoklės
Mercedes-Benz, 308, Šaldytuvai
Mercedes-Benz, 609, dviguba kabina
Mercedes-Benz, 609, Šaldytuvai
Mercedes-Benz, HMF 1150, savivarčiai su kranu
Mercedes-Benz, sprinter 312, kietašoniai
Mercedes-Benz, 814, Šaldytuvai
Mercedes-Benz, Sprinter 208, bortiniai
Mercedes-Benz, SPRINTER 308D, bortiniai
Mercedes-Benz, Sprinter 212 TDi, bortiniai
Mercedes-Benz, 711 MAXI, kietašoniai
Mercedes-Benz, 814, bortiniai
Mercedes-Benz, 208, bortiniai
Citroen Grand C4 Picasso