使用python脚本将数据写入文本文件

时间:2016-05-24 11:35:10

标签: python web-scraping

我是数据报废的新手。这是我在python中编写的第一个程序,用于废弃数据并将其存储到文本文件中。我编写了以下代码来废弃数据。

from bs4 import BeautifulSoup
import urllib2
text_file = open("scrap.txt","w") 
url = urllib2.urlopen("http://ga.healthinspections.us/georgia/search.cfm?1=1&f=s&r=name&s=&inspectionType=&sd=04/24/2016&ed=05/24/2016&useDate=NO&county=Appling&")
content = url.read()
soup = BeautifulSoup(content, "html.parser")
type = soup.find('span',attrs={"style":"display:inline-block; font-  size:10pt;"}).findAll()
for found in type:
  text_file.write(found)

但是,我使用命令提示符运行此程序,它会显示以下错误。

c:\PyProj\Scrapping>python sample1.py
Traceback (most recent call last):
File "sample1.py", line 9, in <module>
text_file.write(found)
TypeError: expected a string or other character buffer object

我在这里缺少什么,或者我还没有添加任何东西。感谢。

1 个答案:

答案 0 :(得分:0)

您需要检查type是否为None,即soup.find实际上找不到您搜索的内容。

另外,请勿使用名称type,它是内置的。

find,非常像find_all返回一个/ Tag个对象的列表。如果您在Tag上调用print,则会看到字符串表示形式。这种自动化不会在file.write上调用。您必须决定要写found的{​​{3}}。