【发布时间】:2015-11-10 22:21:57
【问题描述】:
我将所有标题和图片源链接抓取到一个文本文件中,然后使用文本文件中的数据输出一个包含 2 列的 html 文件,一列用于图像,一列用于标题。如何显示可点击的图像,并显示标题和2列格式的图像?这是我所拥有的
from bs4 import BeautifulSoup
titles = []
images = []
href = []
r = urllib.urlopen('https://www.open2study.com/courses').read()
soup = BeautifulSoup(r)
for i in soup.find_all('div', {'class': "courses_adblock_rollover"}):
titles.append(i.h2.text)
for i in soup.find_all('img', {'class': "image-style-course-logo-subjects-block"}):
images.append(i.get('src'))
with open('test.txt', "w") as f:
for i in zip(titles, images):
f.write(i[0].encode('ascii', 'ignore') + '\n'
+i[1].encode('ascii', 'ignore') +
'\n\n')
header = '<!doctyle html><html><head><title>My page</title></head><body>'
body = '<table><tr><td></td><td></td></tr>'
footer = '</table></body></html>'
with open('test.txt', 'r') as input, open('test.html', 'w') as output:
output.write(header)
output.write(body)
for line in input:
#ignore blank lines
if line == '\n':
continue
col1 = line.rstrip()
#read next line
col2 = next(input).rstrip()
output.write('<tr><td>{}</td><td><img src="{}" style="width: 160px; height: 100px"></td></tr>\n\n'.format(col1, col2))
output.write(footer)
【问题讨论】:
-
您的previous question 出了什么问题?
-
图片和标题两栏不显示,图片不可点击
-
或基本的html。首先将其映射到 HTML 中,然后使用代码构建该结构。
标签: python html beautifulsoup