Я пытаюсь извлечь ссылки из блога, используя этот код Python:
#!/usr/bin/env python
"""
Extract all links from a web page
=================================
Author: Laszlo Szathmary, 2011 ([email protected])
Website: https://pythonadventures.wordpress.com/2011/03/10/extract-all-links-from-a-web-page/
GitHub: https://github.com/jabbalaci/Bash-Utils
Given a webpage, extract all links.
Usage:
------
./get_links.py <URL>
"""
import sys
import urllib
import urlparse
from BeautifulSoup import BeautifulSoup
class MyOpener(urllib.FancyURLopener):
version = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15'
def process(url):
myopener = MyOpener()
#page = urllib.urlopen(url)
page = myopener.open(url)
text = page.read()
page.close()
soup = BeautifulSoup(text)
for tag in soup.findAll('a', href=True):
tag['href'] = urlparse.urljoin(url, tag['href'])
print tag['href']
# process(url)
def main():
if len(sys.argv) == 1:
print "Jabba's Link Extractor v0.1"
print "Usage: %s URL [URL]..." % sys.argv[0]
sys.exit(1)
# else, if at least one parameter was passed
for url in sys.argv[1:]:
process(url)
# main()
#############################################################################
if __name__ == "__main__":
main()
Ссылки взяты из блога, основной категорией которого является blog.xx/Music/. Он извлечет ссылки из категории blog.xx/this_album_name/, но я хочу получить ссылки из класса с именем quote на подстраницах под категорией
Как я могу разобрать ссылки из категории «Музыка» и заставить BS пройти через каждую ссылку заголовка, чтобы извлечь ссылки на следующей странице, используя класс цитаты?
т. е. blog.xx/Категория
блог.xx/post1.html
блог.xx/post2.html
на каждой из вышеперечисленных страниц сообщений есть блок цитат, содержащий ссылки, которые я хотел бы получить.
Я новичок в python и BS и пробовал несколько вариантов, но на данный момент мне нужна помощь. Спасибо