Python noob在这里。我正在尝试使用Python在HTML文件中打印包含子字符串的行。我知道字符串在文件中,因为当我按住ctml + f我在html文件中搜索的字符串时,我发现它。但是,当我运行我的代码时,它不会打印所需的结果。有人可以解释我做错了吗?
import requests
import datetime
from BeautifulSoup import BeautifulSoup
now =datetime.datetime.now()
cmonth = now.month
cday = now.day
cyear = now.year
find = 'boxscores/201'
url = 'http://www.basketball-reference.com/boxscores/index.cgi?lid=header_dateoutput&month={0}&day=17&year={2}'.format(cmonth,cday,cyear)
response = requests.get(url)
html = response.content
print html
for line in html:
if find in line:
print line
答案 0 :(得分:2)
在请求包中,response.content是一个字符串,所以你应该像这样搜索:
if find in html:
# do something
通过
迭代response.content for line in html
你正在迭代字符串中的各个字符,而不是行。
答案 1 :(得分:1)
正如snakecharmerb所说,使用
for line in html :
当你是一个字符串而不是行时,你会遍历html的字符。但你可以使用
for line in html.split("\n") :
迭代线。