Загрузите все веб-страницы и сохраните их в виде html-файла с помощью urllib.request

Использование \b может дать неожиданные результаты. Вам будет лучше выяснить, что отделяет слово от его определения и включает эту информацию в ваш шаблон.

#!/usr/bin/perl

use strict; use warnings;

use re 'debug';

my $str = 'S.P.E.C.T.R.E. (Special Executive for Counter-intelligence,
Terrorism, Revenge and Extortion) is a fictional global terrorist
organisation';

my $word = 'S.P.E.C.T.R.E.';

if ( $str =~ /\b(\Q$word\E)\b/ ) {
    print $1, "\n";
}

Выход:

Compiling REx "\b(S\.P\.E\.C\.T\.R\.E\.)\b"
Final program:
   1: BOUND (2)
   2: OPEN1 (4)
   4:   EXACT  (9)
   9: CLOSE1 (11)
  11: BOUND (12)
  12: END (0)
anchored "S.P.E.C.T.R.E." at 0 (checking anchored) stclass BOUND minlen 14
Guessing start of match in sv for REx "\b(S\.P\.E\.C\.T\.R\.E\.)\b" against "S.P
.E.C.T.R.E. (Special Executive for Counter-intelligence,"...
Found anchored substr "S.P.E.C.T.R.E." at offset 0...
start_shift: 0 check_at: 0 s: 0 endpos: 1
Does not contradict STCLASS...
Guessed: match at offset 0
Matching REx "\b(S\.P\.E\.C\.T\.R\.E\.)\b" against "S.P.E.C.T.R.E. (Special Exec
utive for Counter-intelligence,"...
   0           |  1:BOUND(2)
   0           |  2:OPEN1(4)
   0           |  4:EXACT (9)
  14      |  9:CLOSE1(11)
  14      | 11:BOUND(12)
                                  failed...
Match failed
Freeing REx: "\b(S\.P\.E\.C\.T\.R\.E\.)\b"
0
задан fyec 13 July 2018 в 07:30
поделиться

1 ответ

Вы можете использовать селен вместо этого, чтобы загрузить полный веб-сайт. Просто запустите следующий код

from selenium import webdriver
#Download the chrome driver from the link below and specify the path of chromedriver
#https://chromedriver.storage.googleapis.com/index.html?path=2.40/
chromedriver = 'C:/python36/chromedriver.exe'
url= 'https://asd.com/asdID='
for i in range(1, 5):
    browser = webdriver.Chrome(chromedriver)
    browser.get(url + str(i))
    data = browser.page_source
    with open("webpage%s.html" %(str(i)), "w+") as f:
        f.write(data)

UPDATE

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import ahk

firefox = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
from selenium import webdriver

driver = web.Firefox(firefox_binary=firefox)
driver.get("http://www.yahoo.com")
ahk.start()
ahk.ready()
ahk.execute("Send,^s")
ahk.execute("WinWaitActive, Save As,,2")
ahk.execute("WinActivate, Save As")
ahk.execute("Send, C:\\path\\to\\file.htm")
ahk.execute("Send, {Enter}")

Теперь вы получите все

0
ответ дан venkatesh .b 17 August 2018 в 13:27
поделиться
  • 1
    Прокомментируйте, если вы столкнулись с какой-либо проблемой – venkatesh .b 13 July 2018 в 07:57
  • 2
    Как я могу объединить все эти html-документы в один html-документ? – fyec 13 July 2018 в 19:04
  • 3
    И этот commant не смог получить jpg картинки с веб-сайта. – fyec 13 July 2018 в 21:06
  • 4
    В чем смысл слияния всех html-документов с одним. Если вы объедините все html-дополнения в то, что вы не сможете открыть свои веб-страницы позже – venkatesh .b 14 July 2018 в 16:02
  • 5
Другие вопросы по тегам:

Похожие вопросы: