L.E.N.IЧто значит “должен быть”? Должен появиться там или что?
тобто если товар есть в наличие на сайте(с которого парсу)то и у меня на сайте он тоже должен быть в наличие
py.user.nextнаверное статус товара на своем сайте хочет синхронизировать со статусом у донора
OceanСпасибо что исправил меня. Есть ли какие небудь идеи на этот щот?
py.user.nextСпасибо, что пояснили. Но у меня возникла другая проблема: когда я пытаюсь найти через find_all() теги, оно возвращает мне пустой кортеж. Никак не могу понять в чем дело.
Если ты товар правильно отыскиваешь, то ты парсер закончил. Результат работы парсера - это найденные данные. Если тебе надо дальше с этими найденными данными что-то делать (использовать для синхронизации или ещё чего-то), то ты пишешь вторую программу. Потом эти две программы соединяёшь, передавая данные на выходе одной программы на вход другой программы.
L.E.N.Ibs4. doc. searching the tree
когда я пытаюсь найти через find_all() теги, оно возвращает мне пустой кортеж
>>> import bs4 >>> import re >>> >>> text = """ ... <html> ... <body> ... <a href="/a/b/c/1">link1</a> ... <a href="/a/b/c/2">link2</a> ... <a href="/a/b/c/3">link3</a> ... <a href="/a/b/c/4">link4</a> ... ... <a href="/d/e/f/1">link5</a> ... <a href="/d/e/f/2">link6</a> ... <a href="/d/e/f/3">link7</a> ... <a href="/d/e/f/4">link8</a> ... </body> ... </html> ... """ >>> >>> doc = bs4.BeautifulSoup(text, 'html.parser') >>> >>> links = doc.find_all('a', href='/a/b/c/') >>> links [] >>> >>> links = doc.find_all('a', href=re.compile(r'/a/b/c/')) >>> links [<a href="/a/b/c/1">link1</a>, <a href="/a/b/c/2">link2</a>, <a href="/a/b/c/3">link3</a>, <a href="/a/b/c/4">link4</a>] >>> >>> links = doc.find_all('a', href=lambda i: i.startswith('/a/b/c/')) >>> links [<a href="/a/b/c/1">link1</a>, <a href="/a/b/c/2">link2</a>, <a href="/a/b/c/3">link3</a>, <a href="/a/b/c/4">link4</a>] >>>
py.user.nextНа жаль не помогло. Не знаю имеет ли это значение, но для того чтобы спарсить нужные данные надо быть авторизированным. В браузере я авторизированный на сайте, но может быть это надо ещё как то в программе написать?
L.E.N.IЕсли без авторизации данные недоступны, то надо авторизоваться. Надо проанализировать то, как браузер поддерживает авторизацию между запросами. Для этого надо открыть отладчик в браузере и там посмотреть вкладку “сеть”. Потом это просто воспроизводится в скрипте. Может быть, там не всё так сложно. А может и так быть, что там какой-то слой авторизации, наложенный на протокол, который проблематично будет воспроизвести.
В браузере я авторизированный на сайте, но может быть это надо ещё как то в программе написать?