#python #web-scraping #scrapy
#python #веб-очистка #scrapy
Вопрос:
Это мой начальный URL:
http://www.amazon.com/s/ref=sr_nr_n_0?rh=n:133140011,n:%21133141011,n:154606011,n:668010011,n:158591011,n:158592011amp;bbn=158591011amp;ie=UTF8amp;qid=1403264414amp;rnid=158591011
Как мне извлечь все ссылки на kindle book из scrapy?
Это мой код, но я не получаю ожидаемых результатов:
class MySpider(CrawlSpider):
name = "scraper"
allowed_domains = ["amazon.com"]
start_urls = ["http://www.amazon.com/s/ref=sr_nr_n_0?rh=n:133140011,n:!133141011,n:154606011,n:668010011,n:158591011,n:158592011amp;bbn=158591011amp;ie=UTF8amp;qid=1403264414amp;rnid=158591011"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
items = hxs.select('//*[@id="resultsCol"]').re('/dp/B00.*digital-text')
for item in items:
link = item.extract()
print link
Комментарии:
1. Вы пробовали этот xpath?
//span[@class="lrg bold"]/../@href
Должно выдать вам все ссылки для всех книг. Если в списке есть не только kindle books (на этой странице есть только ссылки на kindle book), то вы, вероятно, могли бы просто настроить свой xpath, чтобы получить необходимые результаты.2. на самом деле я написал другую версию своего кода. Я использую SGML extractor для извлечения ссылок с помощью регулярного выражения. Это мой код:pastebin.com/UZYNJjW4 Но это не соответствует ссылкам