В ответ на предыдущий вопрос несколько человек предложили мне использовать BeautifulSoup для моего проекта. Я боролся с их документацией и просто не могу разобрать ее. Может кто-нибудь указать мне на раздел, где я должен быть в состоянии перевести это выражение в выражение BeautifulSoup?
hxs.select('//td[@class="altRow"][2]/a/@href').re('/.a\w+')
Вышеупомянутое выражение от Scrapy . Я пытаюсь применить регулярное выражение re('\.a\w+')
к td class altRow
, чтобы получить ссылки оттуда.
Буду также признателен за ссылки на любые другие учебные пособия или документацию. Я не смог найти ни одного.
Спасибо за вашу помощь.
Edit:
Я смотрю на эту страницу :
>>> soup.head.title
<title>White & Case LLP - Lawyers</title>
>>> soup.find(href=re.compile("/cabel"))
>>> soup.find(href=re.compile("/diversity"))
<a href="/diversity/committee">Committee</a>
Тем не менее, если вы посмотрите на страницу источника "/cabel"
есть:
<td class="altRow" valign="middle" width="34%">
<a href='/cabel'>Abel, Christian</a>
По какой-то причине результаты поиска не видны BeautifulSoup, но они видны XPath, потому что hxs.select('//td[@class="altRow"][2]/a/@href').re('/.a\w+')
перехватывает "/ cabel"
Edit:
коббал: это все еще не работает. Но когда я ищу это:
>>>soup.findAll(href=re.compile(r'/.a\w+'))
[<link href="/FCWSite/Include/styles/main.css" rel="stylesheet" type="text/css" />, <link rel="shortcut icon" type="image/ico" href="/FCWSite/Include/main_favicon.ico" />, <a href="/careers/northamerica">North America</a>, <a href="/careers/middleeastafrica">Middle East Africa</a>, <a href="/careers/europe">Europe</a>, <a href="/careers/latinamerica">Latin America</a>, <a href="/careers/asia">Asia</a>, <a href="/diversity/manager">Diversity Director</a>]
>>>
возвращает все ссылки со вторым символом «а», но не имена адвокатов. Так что по какой-то причине эти ссылки (такие как "/ cabel") не видны для BeautifulSoup. Я не понимаю почему.