Создайте приложение, которое будет давать мне названия веб-страниц, на которые я могу нажимать - PullRequest
0 голосов
/ 17 июня 2020

Я хочу создать простое приложение, которое выглядит так

a web app

Я дам ему URl (число в конце - это номер этой страницы) и дает мне 100 заголовков страниц, на которые я могу щелкнуть (заголовки взяты с указанного c веб-сайта) и открыть в новой вкладке. На каждой из этих страниц есть что-то вроде этого:

<meta property="article:title" content="title that i wanna see">
<meta property="og:title" content="title that i wanna see">

Я немного знаю javascript, python и HTML, и это будет мой первый проект! подскажите пожалуйста с чего начать!

Ответы [ 2 ]

0 голосов
/ 25 июня 2020

Ваш базовый c HTML5 должен уметь это делать. Тогда дополнительно используйте Boostrap для вашего css. Google html 'a ref tag' для получения подробной информации о тегах.

0 голосов
/ 25 июня 2020
import requests
from bs4 import BeautifulSoup

urls=[]
titles=[]
html="""<html>
    <body>"""

def chtml(url,title):
    global html
    a="""
    <p dir="rtl" align="center">
        <a target='blank' href='"""+url+"""'>
            """+title+"""
        </a>
    </p>
    <br/>\n"""
    html+=a

def end():
    global html
    html+="""
    </body>
</html>"""
    f=open('index.html','w',encoding="utf-8")
    f.write(html)
    f.close()
    print('program is ended. go to index.html')


def get_title(number):
    url='http://example.com/fa/features/'+str(number)
    try:
        page=requests.get(url)
        soup = BeautifulSoup(page.content,"html.parser")
        name = soup.find("head")
        name=str(name)
        a=name.split('\n')[4]
        text=''
        for i in range(0,len(a)):
            if a[i]+a[i+1]=='t=':
                for i2 in range(i+3,len(a)):
                    if a[i2]!='"':
                        text+=a[i2]
                    else:
                        break
                break
        urls.append(url)
        titles.append(text)
        print('got : '+url)
    except:
        pass

if __name__=='__main__':
    a=int(input('enter numer from : '))
    b=int(input('enter numer to : '))
    for i in range(a,b+1):
        get_title(i)
    for i3 in range(0,len(urls)):
        if titles[i3]!='':
            chtml(urls[i3],titles[i3])
    end()
...