#!/usr/bin/env python3
# requirements.txt: pip3 install beautifulsoup4
import requests
try:
from bs4 import BeautifulSoup
except ImportError:
print('warning: might be using BS3!')
from BeautifulSoup import BeautifulSoup
def web_crawler(max_page):
page = 1
while max_page > page:
url = 'http://b...content-available-to-author-only...e.com/catalogue/category/books_1/page-' + str(page) + '.html'
source_code = requests.get(url)
plain_text = source_code # .text => bs3: AttributeError: 'str' object has no attribute 'text', musi byc bs4
soup = BeautifulSoup(plain_text.content, 'html.parser')
for link in soup.findAll('h3'):
print('link', link)
href = 'http://b...content-available-to-author-only...e.com' + str(link.find('a').get('href'))
title = link.string
print('HREF', href)
print('TITLE', title)
page += 1
web_crawler(2)
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwojIHJlcXVpcmVtZW50cy50eHQ6IHBpcDMgaW5zdGFsbCBiZWF1dGlmdWxzb3VwNAppbXBvcnQgcmVxdWVzdHMKdHJ5OgogICAgZnJvbSBiczQgaW1wb3J0IEJlYXV0aWZ1bFNvdXAKZXhjZXB0IEltcG9ydEVycm9yOgogICAgcHJpbnQoJ3dhcm5pbmc6IG1pZ2h0IGJlIHVzaW5nIEJTMyEnKQogICAgZnJvbSBCZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxTb3VwCgpkZWYgd2ViX2NyYXdsZXIobWF4X3BhZ2UpOgogICAgcGFnZSA9IDEKICAgIHdoaWxlIG1heF9wYWdlID4gcGFnZToKICAgICAgICB1cmwgPSAnaHR0cDovL2IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL2NhdGFsb2d1ZS9jYXRlZ29yeS9ib29rc18xL3BhZ2UtJyArIHN0cihwYWdlKSArICcuaHRtbCcKICAgICAgICBzb3VyY2VfY29kZSA9IHJlcXVlc3RzLmdldCh1cmwpCiAgICAgICAgcGxhaW5fdGV4dCA9IHNvdXJjZV9jb2RlICMgLnRleHQgPT4gYnMzOiBBdHRyaWJ1dGVFcnJvcjogJ3N0cicgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3RleHQnLCBtdXNpIGJ5YyBiczQKICAgICAgICBzb3VwID0gQmVhdXRpZnVsU291cChwbGFpbl90ZXh0LmNvbnRlbnQsICdodG1sLnBhcnNlcicpCiAgICAgICAgZm9yIGxpbmsgaW4gc291cC5maW5kQWxsKCdoMycpOgogICAgICAgICAgICBwcmludCgnbGluaycsIGxpbmspCiAgICAgICAgICAgIGhyZWYgPSAnaHR0cDovL2IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tJyArIHN0cihsaW5rLmZpbmQoJ2EnKS5nZXQoJ2hyZWYnKSkKICAgICAgICAgICAgdGl0bGUgPSBsaW5rLnN0cmluZwogICAgICAgICAgICBwcmludCgnSFJFRicsIGhyZWYpCiAgICAgICAgICAgIHByaW50KCdUSVRMRScsIHRpdGxlKQogICAgICAgIHBhZ2UgKz0gMQoKd2ViX2NyYXdsZXIoMikK