0

上付き文字、分子および分母形式の分数を含む Web ページを取得しようとしています。取得したコンテンツをドキュメント ファイルに保存しています。そのために、python-docx モジュールを使用しています。例のために。式 112 x 5 4は 112 x 54 として保存され、分数 ¼ は 1 (改行)(タブ) 4 として保存されます。Python 3.5 および Windows 8.1 OS を使用しています。

コード-

# This script heavily relies on the HTML structure of webpages mentioned below 
# indiabix.com/aptitude/simple-interest, indiabix.com/aptitude/numbers which are similar

    import sys
    import urllib.request
    from docx import Document
    from bs4 import BeautifulSoup

    soup = ""
    para = ""
    root = "http://www.indiabix.com"

    def getQuestions(link):
        req = urllib.request.urlopen(link)
        soup = BeautifulSoup(req.read(),'html5lib')
        boxes = soup.find_all('div',{'class':'bix-div-container'})

        for box in boxes:
            headers = box.find("td",{"class":"bix-td-qtxt"})
            para = doc.add_paragraph(headers.get_text())

            options = box.find_all("td",{'class':'bix-td-option'})

            para.text += "\n"
            for option in options:
                para.text = para.text + (option.get_text()+" ")
        return soup

    def getExtras(soup):
        main = soup.find('p',{'class':'ib-pager'}).find_all('a')
        for m in main[:-1]:
            getQuestions(root+m['href']) 
        return

    if __name__ == '__main__':
        # Here, the string "http://indiabix.com/aptitude/numbers" is used as the input link
        link = input("Enter link : ")   
        doc = Document()
        soup = getQuestions(link)
        getExtras(soup)
        doc.save('questions.docx')
4

0 に答える 0