我正在尝试提取this webpage中导航div filterCategoryLevelOne 中的所有链接。
我使用Beautifulsoup成功完成了这项工作并请求如下:
>> import requests
>> from bs4 import BeautifulSoup
>> url='http://uk.farnell.com/c/electrical'
>> response = requests.get(url)
>> soup = BeautifulSoup(source.content, "html.parser")
>> mydiv = soup.findAll("nav", { "class" : "filterCategoryLevelOne" })
my_div 为我提供了所有可以提取href值的列表。
但是,如果我对scrapy shell做同样的事情,我会得到别的东西:
>> scrapy shell -s USER_AGENT='Mozilla/5.0 (Linux; U; Android 2.3; en-us) AppleWebKit/999+ (KHTML, like Gecko) Safari/999.9' http://uk.farnell.com/c/electrical
>> response.xpath('//nav[@class="filterCategoryLevelOne"]')
[<Selector xpath='//nav[@class="filterCategoryLevelOne"]' data='<nav class="filterCategoryLevelOne" aria'>]
如何在scrapy中进一步找到该div中的href值?
答案 0 :(得分:2)
您可以直接获取所有网址:
response.xpath('//nav[@class="filterCategoryLevelOne"]//a/@href').extract()