热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言有些字符已用unicode替换字符替换,UnicodeWarning:某些字符无法解码,已替换为替换字符...

我在代码中使用的是pythonbs4pyside,请看下面部分代码:entercodehere#coding:gb2312importurllib2im

我在代码中使用的是python+bs4+pyside,请看下面部分代码:enter code here

#coding:gb2312

import urllib2

import sys

import urllib

import urlparse

import random

import time

from datetime import datetime, timedelta

import socket

from bs4 import BeautifulSoup

import lxml.html

from PySide.QtGui import *

from PySide.QtCore import *

from PySide.QtWebKit import *

def download(self, url, headers, proxy, num_retries, data=None):

print 'Downloading:', url

request = urllib2.Request(url, data, headers or {})

opener = self.opener or urllib2.build_opener()

if proxy:

proxy_params = {urlparse.urlparse(url).scheme: proxy}

opener.add_handler(urllib2.ProxyHandler(proxy_params))

try:

response = opener.open(request)

html = response.read()

code = response.code

except Exception as e:

print 'Download error:', str(e)

html = ''

if hasattr(e, 'code'):

code = e.code

if num_retries > 0 and 500 <&#61; code <600:

# retry 5XX HTTP errors

return self._get(url, headers, proxy, num_retries-1, data)

else:

code &#61; None

return {&#39;html&#39;: html, &#39;code&#39;: code}

def crawling_hdf(openfile):

filename &#61; open(openfile,&#39;r&#39;)

namelist &#61; filename.readlines()

app &#61; QApplication(sys.argv)

for name in namelist:

url &#61; "http://so.haodf.com/index/search?type&#61;doctor&kw&#61;"&#43; urllib.quote(name)

#get doctor&#39;s home page

D &#61; Downloader(delay&#61;DEFAULT_DELAY, user_agent&#61;DEFAULT_AGENT, proxies&#61;None, num_retries&#61;DEFAULT_RETRIES, cache&#61;None)

html &#61; D(url)

soup &#61; BeautifulSoup(html)

tr &#61; soup.find(attrs&#61;{&#39;class&#39;:&#39;docInfo&#39;})

td &#61; tr.find(attrs&#61;{&#39;class&#39;:&#39;docName font_16&#39;}).get(&#39;href&#39;)

print td

#get doctor&#39;s detail information page

loadPage_bs4(td)

filename.close()

if __name__ &#61;&#61; &#39;__main__&#39;:

crawling_hdf("name_list.txt")

运行程序后&#xff0c;会显示警告信息&#xff1a;

警告(来自警告模块)&#xff1a;

文件“C:\Python27\lib\site packages\bs4\该死的.py“&#xff0c;第231行

无法解码某些字符&#xff0c;并且

UnicodeWarning:某些字符无法解码&#xff0c;已替换为替换字符。

我用过print str(html)发现所有标签中的中文都是乱码。在

我尝试过使用“解码或编码”和“gzip”解决方案&#xff0c;这是在这个网站上搜索&#xff0c;但它不适用于我的情况。在

非常感谢你的帮助



推荐阅读
  • 博主使用代理IP来自于网上免费提供高匿IP的这个网站用到的库frombs4importBeautifulSoupimportrandomimporturllib.re ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • 我正在编写一个脚本,它将根据以下内容从基本HTML页面中提取数据:URL中的第一个参数在-90.0和90.0(含)之间浮动,第二个数字在- ... [详细]
  • Python爬取豆瓣数据实现过程解析
    这篇文章主要介绍了Python爬取豆瓣数据实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值, ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有