Python 抓取器无法抓取 img src
Python Scraper Unable to scrape img src
我无法从网站 www.kissmanga.com 抓取图片。我正在使用 Python3 以及 Requests 和 Beautifulsoup 库。抓取的图像标签给出空白 "src".
源代码:
from bs4 import BeautifulSoup
import requests
scraper = cfscrape.create_scraper()
url = "http://kissmanga.com/Manga/Bleach/Bleach-634--Friend-004?id=235206"
response = requests.get(url)
soup2 = BeautifulSoup(response.text, 'html.parser')
divImage = soup2.find('div',{"id": "divImage"})
for img in divImage.findAll('img'):
print(img)
response.close()
我认为图像抓取已被阻止,因为我相信该网站使用了 cloudflare。基于这个假设,我也尝试使用 "cfscrape" 库来抓取内容。
您需要等待 JavaScript
为图像注入 html
代码。
有多种工具可以执行此操作,以下是其中的一些:
我能够让它与 Selenium 一起工作:
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
driver = webdriver.Firefox()
# it takes forever to load the page, therefore we are setting a threshold
driver.set_page_load_timeout(5)
try:
driver.get("http://kissmanga.com/Manga/Bleach/Bleach-634--Friend-004?id=235206")
except TimeoutException:
# never ignore exceptions silently in real world code
pass
soup2 = BeautifulSoup(driver.page_source, 'html.parser')
divImage = soup2.find('div', {"id": "divImage"})
# close the browser
driver.close()
for img in divImage.findAll('img'):
print img.get('src')
如果您也想下载这些图片,请参阅How to download image using requests。
您尝试过设置 custom user-agent 吗?
这样做通常被认为是不道德的,但抓取漫画也是如此。
我无法从网站 www.kissmanga.com 抓取图片。我正在使用 Python3 以及 Requests 和 Beautifulsoup 库。抓取的图像标签给出空白 "src".
源代码:
from bs4 import BeautifulSoup
import requests
scraper = cfscrape.create_scraper()
url = "http://kissmanga.com/Manga/Bleach/Bleach-634--Friend-004?id=235206"
response = requests.get(url)
soup2 = BeautifulSoup(response.text, 'html.parser')
divImage = soup2.find('div',{"id": "divImage"})
for img in divImage.findAll('img'):
print(img)
response.close()
我认为图像抓取已被阻止,因为我相信该网站使用了 cloudflare。基于这个假设,我也尝试使用 "cfscrape" 库来抓取内容。
您需要等待 JavaScript
为图像注入 html
代码。
有多种工具可以执行此操作,以下是其中的一些:
我能够让它与 Selenium 一起工作:
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
driver = webdriver.Firefox()
# it takes forever to load the page, therefore we are setting a threshold
driver.set_page_load_timeout(5)
try:
driver.get("http://kissmanga.com/Manga/Bleach/Bleach-634--Friend-004?id=235206")
except TimeoutException:
# never ignore exceptions silently in real world code
pass
soup2 = BeautifulSoup(driver.page_source, 'html.parser')
divImage = soup2.find('div', {"id": "divImage"})
# close the browser
driver.close()
for img in divImage.findAll('img'):
print img.get('src')
如果您也想下载这些图片,请参阅How to download image using requests。
您尝试过设置 custom user-agent 吗? 这样做通常被认为是不道德的,但抓取漫画也是如此。