LVYOYO243 2022-05-31 21:10 采纳率: 100%
浏览 29
已结题

为什么我爬取的内容是乱码

import requests
from lxml import etree
url="https://www.haodf.com/doctor/list.html%22
head={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/86.0.4240.198 Safari/537.36"}
f=open('大夫.csv','w',encoding='gb18030')
f.writelines('姓名,职位,单位,科室,疗效,态度,擅长,在线问诊,预约挂号\n')

def getdata(url):
res=requests.get(url,headers=head)
res.encoding='utf-8'
print(res.status_code)
html=res.text
res.encoding=res.apparent_encoding
htmlele = etree.HTML(html)

姓名

name=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/p[1]/span[1]/a/text()')
print(name)

职位

zhiwei=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/p[1]/span[2]/text()')
print(zhiwei)

#单位

address=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/p[2]/text()')
print(address)

#科室

keshi=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/p[2]/span/text()')
print(keshi)

#疗效

good=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/div/p[1]/span[3]')
print(good)

#态度:

servers=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/div/p[2]/span[3]')
print(servers)

#擅长

nice=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/p[3]/text()')
print(nice)

#在线问诊

money=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/span[1]/span')
print(money)

#预约挂号

telephone=htmlele.xpath('/html/body/div[2]/div/div[1]/div[2]/ul/li[*]/div/div/span[2]/span')
print(telephone)

for i in range(0,10):
url = 'https://www.haodf.com/doctor/list.html?p=%27+str(i)
getdata(url)

img

  • 写回答

2条回答 默认 最新

  • 王辉辉的猫 2022-06-01 11:07
    关注

    这行去掉就行了

    res.encoding='utf-8'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月9日
  • 已采纳回答 6月1日
  • 创建了问题 5月31日

悬赏问题

  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加