# -*- coding: UTF-8 -*-
from docx import Document
from docx.shared import Pt
import requests
from docx.oxml.ns import qn
document = Document()
document.styles['Normal'].font.name = u'宋体'
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
document.add_heading(u'李航航成语练习', 0)
records = [
u'春暖花开', u'风和日丽', u'秋高气爽'
]
column_widths = [60,130,20,120,20,90]
row_heights = [18,18,18,18,30,30,30]
def findContent(strCy):
posTrans = strCy.find(u'【解释】:')
posFrom = strCy.find(u'【出自】:')
posExample = strCy.find(u'【示例】:')
posSyntax = strCy.find(u'【语法】:')
newStrCy = strCy[posTrans:posSyntax]
return newStrCy.split('</li><li>')
for i in range(len(records)):
url = u'https://hanyu.baidu.com/s?wd={}&ptype=zici&tn=sug_click'.format(records[i])
res = requests.get(url)
res.encoding = 'utf-8'
# strCy = res.text.encode('utf-8')
strCy = res.text
resultset = findContent(strCy)
table = document.add_table(rows=7, cols=len(column_widths), style='Light List Accent 5')
for j in range(len(column_widths)):
table.columns[j].width = Pt(column_widths[j])
for k in range(len(row_heights)):
table.rows[k].height = Pt(row_heights[k])
table.cell(0,0).text = records[i]
table.cell(0,1).paragraphs[0].add_run().add_picture("fields.png",width=Pt(120))
table.cell(0,2).text = u'拼音'
table.cell(0,3).text = u''
table.cell(0,4).text = u'用法'
table.cell(0,5).text = u'\u2610' + u'褒'+ u'\u2610' + u'贬'+ u'\u2610' + u'中性'
table.cell(1,0).merge(table.cell(1,5)).text = resultset[0]
table.cell(2,0).merge(table.cell(2,5)).text = resultset[1]
table.cell(3,0).merge(table.cell(3,5)).text = resultset[2]
table.cell(4,0).text = u'近义词'
table.cell(4,1).merge(table.cell(4,5)).text=''
table.cell(5,0).text = u'反义词'
table.cell(5,1).merge(table.cell(5,5)).text=''
table.cell(6,0).text = u'造句'
table.cell(6,1).merge(table.cell(6,5)).text=''
document.add_paragraph('')
document.save('cy.docx')