Webscrape 巴西网站的 ISBN 信息
Webscrape ISBN info from brazilian website
我正在尝试获取一些带有漂亮汤的标签,以生成包含此数据的 bibtex 条目。
ISBN 巴西站点,当从浏览器访问时,显示有关该 ISBN 的信息。但是当我尝试使用 urlopen 和 requests 时,它给了我一个 HTTPError 代码 500。在浏览器中发生了这种情况,只能通过关闭选项卡并在另一个选项卡中打开相同的 link 来解决。
网站要求验证码。我认为第一个搜索需要回答验证码,其他的,只需更改 url 中的 isbn 即可。
在此之后,当您点击 'link+isbn' 时,它会显示有关该书的信息。我正在尝试使用这个 'link+isbn' 来抓取美味的汤。
Link 有效:http://www.isbn.bn.br/website/consulta/cadastro/isbn/9788521208037 --(首先在 'www.isbn. ... /cadastro' 中进行第一次搜索,因为验证码)
我尝试了一些代码,现在我只是想获取 html 网站而不会出现错误 500。
import sys
import urllib
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
BRbase = 'http://www.isbn.bn.br/website/consulta/cadastro/isbn/'
Lista_ISBN = ['9788542209402',
'9788542206937',
'9788521208037']
for isbn in Lista_ISBN:
page = BRbase + isbn
url = Request(page, headers={'User-Agent': 'Mozilla/5.0'})
html = urlopen(url).read()
#code to beautiful soup
try:
#code to beautiful soup and generate bibtex
print(page)
print(html)
except:
print('ISBN {} não encontrado'.format(isbn))
sys.exit(1)
import requests
from bs4 import BeautifulSoup
headers = {"Cookie": 'JSESSIONID=60F8CDFBD408299B40C7E7C2459DC624'}
isbn = ['9788542209402', '9788542206937', '9788521208037']
for item in isbn:
print(f"{'*'*20}Extracting ISBN# {item}{'*'*20}")
r = requests.get(
f"http://www.isbn.bn.br/website/consulta/cadastro/isbn/{item}", headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
for item in soup.findAll('strong')[2:10]:
print(item.parent.get_text(strip=True))
输出:
********************Extracting ISBN# 9788542209402********************
ISBN978-85-422-0940-2
TítuloSPQR
Edição1
Ano Edição2017
Tipo de SuportePapel
Páginas448
Editor(a)Planeta
ParticipaçõesMary Beard ( Autor)Luiz Gil Reyes (Tradutor)
********************Extracting ISBN# 9788542206937********************
ISBN978-85-422-0693-7
TítuloEm nome de Roma
Edição1
Ano Edição2016
Tipo de SuportePapel
Páginas560
Editor(a)Planeta
ParticipaçõesAdrian Goldsworthy ( Autor)Claudio Blanc (Tradutor)
********************Extracting ISBN# 9788521208037********************
ISBN978-85-212-0803-7
TítuloCurso de física básica: ótica, relatividade e física quântica
Edição2
Ano Edição2014
Tipo de SuportePapel
Páginas0
Editor(a)Blucher
ParticipaçõesH. Moysés Nussenzveig ( Autor)
我正在尝试获取一些带有漂亮汤的标签,以生成包含此数据的 bibtex 条目。
ISBN 巴西站点,当从浏览器访问时,显示有关该 ISBN 的信息。但是当我尝试使用 urlopen 和 requests 时,它给了我一个 HTTPError 代码 500。在浏览器中发生了这种情况,只能通过关闭选项卡并在另一个选项卡中打开相同的 link 来解决。
网站要求验证码。我认为第一个搜索需要回答验证码,其他的,只需更改 url 中的 isbn 即可。
在此之后,当您点击 'link+isbn' 时,它会显示有关该书的信息。我正在尝试使用这个 'link+isbn' 来抓取美味的汤。
Link 有效:http://www.isbn.bn.br/website/consulta/cadastro/isbn/9788521208037 --(首先在 'www.isbn. ... /cadastro' 中进行第一次搜索,因为验证码)
我尝试了一些代码,现在我只是想获取 html 网站而不会出现错误 500。
import sys
import urllib
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
BRbase = 'http://www.isbn.bn.br/website/consulta/cadastro/isbn/'
Lista_ISBN = ['9788542209402',
'9788542206937',
'9788521208037']
for isbn in Lista_ISBN:
page = BRbase + isbn
url = Request(page, headers={'User-Agent': 'Mozilla/5.0'})
html = urlopen(url).read()
#code to beautiful soup
try:
#code to beautiful soup and generate bibtex
print(page)
print(html)
except:
print('ISBN {} não encontrado'.format(isbn))
sys.exit(1)
import requests
from bs4 import BeautifulSoup
headers = {"Cookie": 'JSESSIONID=60F8CDFBD408299B40C7E7C2459DC624'}
isbn = ['9788542209402', '9788542206937', '9788521208037']
for item in isbn:
print(f"{'*'*20}Extracting ISBN# {item}{'*'*20}")
r = requests.get(
f"http://www.isbn.bn.br/website/consulta/cadastro/isbn/{item}", headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
for item in soup.findAll('strong')[2:10]:
print(item.parent.get_text(strip=True))
输出:
********************Extracting ISBN# 9788542209402********************
ISBN978-85-422-0940-2
TítuloSPQR
Edição1
Ano Edição2017
Tipo de SuportePapel
Páginas448
Editor(a)Planeta
ParticipaçõesMary Beard ( Autor)Luiz Gil Reyes (Tradutor)
********************Extracting ISBN# 9788542206937********************
ISBN978-85-422-0693-7
TítuloEm nome de Roma
Edição1
Ano Edição2016
Tipo de SuportePapel
Páginas560
Editor(a)Planeta
ParticipaçõesAdrian Goldsworthy ( Autor)Claudio Blanc (Tradutor)
********************Extracting ISBN# 9788521208037********************
ISBN978-85-212-0803-7
TítuloCurso de física básica: ótica, relatividade e física quântica
Edição2
Ano Edição2014
Tipo de SuportePapel
Páginas0
Editor(a)Blucher
ParticipaçõesH. Moysés Nussenzveig ( Autor)