Python Beautiful Soup img тег внутри div разбирает неправильную ссылку - PullRequest
0 голосов
/ 29 января 2019

У меня есть этот код:

import urllib
import urllib.request
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import re

theurl= 'http://es.ninemanga.com/chapter/Dragon%20Ball%20Multiverse/279006.html'

req = Request(theurl  + '.html', headers={'User-Agent': 'Mozilla/5.0'})
thepage = urlopen(req).read()
soup = BeautifulSoup(thepage, "html.parser")


for divs in soup.findAll('div', {"class": "pic_box"}):

    temp = divs.find('img', {"id" : "manga_pic_1"})
    temp1 = temp.get('src')
    print(temp1 + "\n")

Я хочу получить все div теги с class pic_box и внутри них все теги img и их src

Я сделал это правильно с soup.findAll('div', {"class": "pic_box"}), а затем temp.get('src'), но каким-то образом я получаю:

http://a8.ninemanga.com/es_manga/43/555/279006/4c58c372ca4561627e5a01f6c841290e.jpg

вместо:

https://c5.ninemanga.com/es_manga/43/555/279006/939559ac8d7af80cf6b4ead0ada4f718.jpg

Они как-то блокируют мой запрос или яЯ тут что то не так делаю?

repl для проверки

ссылка на ссылку в переменной theurl, из которой я хочу извлечь 'src'

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Похоже, что они могут обнаружить запросы на очистку и заблокировать их.Даже использование поддельного агента не работает (я пытался).Попробуйте что-то вроде Selenium, которое может автоматизировать работу браузера и загрузить его через сам браузер.

0 голосов
/ 29 января 2019

изображение имеет уникальный атрибут класса - 'manga_pic' получить изображение с классом manga_pic

...