我正在尝试检查许多网站的页面上是否有某个单词。该脚本可以在15个站点上正常运行,然后停止。
UnicodeDecodeError:’utf8’编解码器无法解码位置15344处的字节0x96:无效的起始字节
我在stackoverflow上进行了搜索,发现了很多问题,但似乎无法理解我的情况出了什么问题。
我想解决它,或者如果有错误,请跳过该站点。请为我提供新手建议,下面的代码本身花了我一天的时间。顺便说一句,脚本暂停的站点是http://www.homestead.com
filetocheck = open("bloglistforcommenting","r")
resultfile = open("finalfile","w")
for countofsites in filetocheck.readlines():
sitename = countofsites.strip()
htmlfile = urllib.urlopen(sitename)
page = htmlfile.read().decode('utf8')
match = re.search("Enter your name", page)
if match:
print "match found : " + sitename
resultfile.write(sitename+"\n")
else:
print "sorry did not find the pattern " +sitename
print "Finished Operations"
根据Mark的评论,我更改了代码以实现beautifulsoup
htmlfile = urllib.urlopen("http://www.homestead.com")
page = BeautifulSoup((''.join(htmlfile)))
print page.prettify()
现在我收到此错误
page = BeautifulSoup((''.join(htmlfile)))
TypeError: 'module' object is not callable
我正在尝试从http://www.crummy.com/software/BeautifulSoup/documentation.html#Quick%20Start进行快速入门的示例。如果我复制粘贴它,那么代码可以正常工作。
我终于让它工作了。 谢谢大家的帮助。这是最终代码。
import urllib
import re
from BeautifulSoup import BeautifulSoup
filetocheck = open("listfile","r")
resultfile = open("finalfile","w")
error ="for errors"
for countofsites in filetocheck.readlines():
sitename = countofsites.strip()
htmlfile = urllib.urlopen(sitename)
page = BeautifulSoup((''.join(htmlfile)))
pagetwo =str(page)
match = re.search("Enter YourName", pagetwo)
if match:
print "match found : " + sitename
resultfile.write(sitename+"\n")
else:
print "sorry did not find the pattern " +sitename
print "Finished Operations"
许多网页编码不正确。对于解析HTML,请尝试使用BeautifulSoup,因为它可以处理在野外发现的许多类型的错误HTML。
Beautiful Soup是一个Python HTML / XML解析器,设计用于快速周转的项目,例如屏幕抓取。三个功能使其强大:
如果您给它不好的评分,美丽的汤不会won。它产生的解析树的意义与原始文档差不多。通常,这足以收集所需的数据并使其消失。
Beautiful
Soup提供了一些用于导航,搜索和修改解析树的简单方法和Pythonic习惯用法:用于剖析文档并提取所需内容的工具箱。您不必为每个应用程序创建自定义解析器。Beautiful Soup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8。 您无需考虑编码
,除非文档未指定编码并且Beautiful Soup无法自动检测到编码。然后,您只需要指定原始编码即可。
强调我的。
问题内容: 我有一个套接字服务器,应该从客户端接收UTF-8有效字符。 问题是某些客户端(主要是黑客)正在通过它发送所有错误的数据。 我可以轻松地区分真正的客户端,但是我会将所有发送的数据记录到文件中,以便以后进行分析。 有时我会收到这样的字符œ,从而导致错误。 我需要使字符串UTF-8带有或不带有这些字符。 更新: 对于我的特殊情况,套接字服务是MTA,因此我只希望接收ASCII命令,例如: 我
我试图在Python pandas中做一些数据工作,但在写出结果时遇到了麻烦。我以CSV文件的形式读取数据,并将每个脚本导出为它自己的CSV文件,这很好地工作。虽然最近我试着用工作表导出一个Excel文件中的所有内容,但有几个工作表给了我一个错误 “'UTF8'编解码器无法解码位置1中的字节0xE9:无效的连续字节” 我甚至不知道如何开始查找任何可能导致导出到Excel的问题的字符。不知道为什么它
问题内容: 我有一个套接字服务器,应该从客户端接收UTF-8有效字符。 问题是某些客户端(主要是黑客)正在通过它发送所有错误的数据。 我可以轻松地区分真正的客户端,但是我会将所有发送的数据记录到文件中,以便以后进行分析。 有时我会得到这样的导致错误的字符。 我需要能够使带有或不带有这些字符的字符串UTF-8。 更新: 对于我的特殊情况,套接字服务是MTA,因此我只希望接收ASCII命令,例如: 我
我有一个套接字服务器,它应该从客户端接收UTF-8有效字符。 问题是一些客户端(主要是黑客)正在通过它发送所有错误类型的数据。 我可以很容易地分辨出真正的客户机,但我会将发送的所有数据记录到文件中,以便以后进行分析。 有时我会遇到这样的字符,导致UnicodeDecodeError错误。 我需要能够使字符串UTF-8有或没有这些字符。 更新: 对于我的特殊情况,套接字服务是MTA,因此我只希望接收
问题内容: 我试图在Python熊猫中做一些数据工作,但写出我的结果时遇到麻烦。我将数据读取为CSV文件,并一直将每个脚本导出为自己的CSV文件,效果很好。最近,尽管我尝试使用工作表将所有内容导出到1个Excel文件中,但其中一些工作表给我一个错误 “’utf8’编解码器无法解码位置1的字节0xe9:无效的继续字节” 我什至不知道如何开始寻找任何可能导致导出到Excel的问题的字符。不知道为什么导
问题内容: 我正在使用Python-2.6 CGI脚本,但是在执行服务器日志时发现此错误, 这里 函数返回。 张贴这个问题之前我已经提到这个问题,操作系统,所以的。 更新 下一行损害了JSON编码器, 我有一个临时解决方案 但是我不确定这样做是否正确。 问题答案: 该错误是因为字典中存在一些非ASCII字符,并且无法对其进行编码/解码。避免此错误的一种简单方法是使用encode()如下函数对此类字