гусеничный python2.7 без BeautifulSoup - PullRequest
0 голосов
/ 31 мая 2018

Я запустил небольшой сканер с локальным html-файлом без использования Beautifulsoup с bs4, с которыми я сталкиваюсь:

  • Я получил дублированные результаты после того, как скрипт завершил работу на 100%, не зная, почемуявляются дублированными элементами
  • Когда я пытался сравнить два извлеченных списка и проверить ссылки, я получил только ложный результат (сравнение строк).

Вы можете найти полные файлы здесь .

HTML-код (часть ссылок):

<h2> test #2 <a href="file:///home/godzilla/crawler-project/test-2.html">first website</a></h2>
<h2> test #3 <a href="file:///home/godzilla/crawler-project/test-3.html">a second website refer to index file</a></h2>
<h2> test #4 <a href="file:///home/godzilla/crawler-project/test-4.html"> a website contain many links , atree one of them refer to index file and another duplicated link </a></h2>

Скрипт Python:

import string
import urllib

links = []

def ex_link(y):
    result = []
    for i in y:
        if i != None and i.find("<h2>") != -1:
            result.append(i)
    for element in result:
        for i in range(len(result)):
           raw = result[result.index(element)].replace(" ","")
           first = raw.find("<ahref")
           end = raw.find(".html")
           links.append(raw[first+7:end+6])
    print links
    return links
def page(x):
    page = urllib.urlopen(x)
    result = []
    while True:
        page_line = page.readline()
        result.append(page_line)
        if not page_line : break
    return result
link_test =  page("file:///home/godzilla/crawler-project/test-1.html")

тест ссылок

"file:///home/godzilla/crawler-project/test-2.html"
"file:///home/godzilla/crawler-project/test-3.html"
"file:///home/godzilla/crawler-project/test-3.html"
"file:///home/godzilla/crawler-project/test-3.html"
"file:///home/godzilla/crawler-project/test-4.html"
"file:///home/godzilla/crawler-project/test-4.html"
"file:///home/godzilla/crawler-project/test-4.html"

и тестовые ссылки

"file:///home/godzilla/crawler-project/test-2.html"

file:///home/godzilla/crawler-project/test-3.html

file:///home/godzilla/crawler-project/test-4.htm

http://www.google.com

file:///home/godzilla/crawler-project/test-1.html

выходные результаты:

"file:///home/godzilla/crawler-project/test-2.html" not found !

"file:///home/godzilla/crawler-project/test-3.html" not found !

"file:///home/godzilla/crawler-project/test-3.html" not found !

"file:///home/godzilla/crawler-project/test-3.html" not found !

"file:///home/godzilla/crawler-project/test-4.html" not found !

"file:///home/godzilla/crawler-project/test-4.html" not found !

"file:///home/godzilla/crawler-project/test-4.html" not found !
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...