ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 爬虫中文乱码

2021-01-18 14:32:36  阅读:222  来源: 互联网

标签:python 标签 爬虫 乱码 soup html url print import


使用requests

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

使用 BeautifulSoup

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,标签,爬虫,乱码,soup,html,url,print,import
来源: https://blog.csdn.net/watermelon_lily/article/details/112778152

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有