Я пытаюсь собрать набор URL-адресов, используя BeautifulSoup, с очень конкретными критериями. URL-адреса, которые я хочу собрать, должны содержать /b-\d+
(/b-
, а затем ряд числовых значений). Тем не менее, я хочу игнорировать все URL-адреса, содержащие View%20All
, даже если в нем есть /b-\d+
. Вот пример URL-адресов:Почему этот негативный взгляд на Python негативный взгляд не работает?
1. http://www.foo.com/bar/b-12312903?sName=View%20All
2. http://www.foo.com/bar/b-832173712873?sName=View%20All
3. http://www.foo.com/bar/b-1208313109283129
4. http://www.foo.com/bar/b-2198123371239489?adCell=W3
Учитывая вышеизложенное образца, действительные URL-адреса, которые я хочу собрать в # 3 и # 4. Я попытался с использованием различных отрицательного предпросмотра регулярные выражения, и они просто не работают для меня:
{"href" : re.compile(r"\/b-\d+.+(?!View\%20All)")}
{"href" : re.compile(r"^.+\/b-\d+.+(?!View\%20All$)")}
Может кто-нибудь сказать мне, что я делаю неправильно?
Я не понимаю, почему "." необходимо в конце также ничего себе. эта демонстрация потрясающая – lollerskates