我试图用Beautiful Soup编写简单的脚本,它可以废弃两个信息并从网站上生成一个SQL文件。
0.5em + 1em + 0.5em + 1em + 0.5em + 1em + 0.5em + 1em = 7em
错误:
C:\ Python27> python symtoms.py文件“symtoms.py”,第8行 print link.text ^ IndentationError:预期缩进块
我只想要一个废弃这些项目和简短描述的脚本,并生成一个只有两个字段“name”& “SUG”。 “name”是那些项目,“sug”是那些描述。
答案 0 :(得分:0)
缩进在Python中很重要,它用于确定块,例如for循环或块或while循环或函数等。
在你给出的代码中,for循环之后的语句没有在for循环中正确缩进,而for循环在它的主体中需要至少一个语句,我认为你期望for循环下面的行在里面for循环,所以你应该在for循环中缩进它们。
代码 -
for link in op.links():
print link.text
print urlparse.urljoin(link.base_url, link.url)
get = BeautifulSoup(urllib2.urlopen("https://www.mentalhelp.net/symptoms/").read()).findAll('p')
print get
print "\n"
虽然我不确定这是否会得到您想要的,但它会解决您当前的错误。
对于只获得classic symptoms
及其解构的新要求,您可以使用 -
soup = BeautifulSoup(urllib2.urlopen("https://www.mentalhelp.net/symptoms/").read())
for div in soup.findAll('div',{'id':'page'}):
for entrydiv in div.findAll('div',{'class':'h4 entry-title'}):
print(entrydiv.get_text())
print(entrydiv.next_sibling.get_text())