0

im new с программированием и компьютерами в целом. ive получил немного базовые знания и им, пытающимся сделать скребок ebay ive, работали.Задание заголовка списка в Ebay Scrape

r = requests.get(url) 
soup = BeautifulSoup(r.content, 'lxml') 

titles = soup.find_all('a', {'class':'vip'}) 
titles = str(titles) 
print(titles) 

этот код возвращает список следующим образом:

[ 
<a class="vip" href="http://www.ebay.com/itm/HAYNES-HONDA-CIVIC-DEL-SOL-1991-1995-REPAIR-MANUAL-/121848077988?hash=item1c5eb61ea4:g:M5gAAOSwf-VWahyW&amp;vxp=mtr" title="Click this link to access HAYNES HONDA CIVIC DEL SOL 1991-1995 REPAIR MANUAL">HAYNES HONDA CIVIC DEL SOL 1991-1995 REPAIR MANUAL</a>, 

<a class="vip" href="http://www.ebay.com/itm/1992-1995-HONDA-CIVIC-DEL-SOL-FUSE-BOX-/320502127733?hash=item4a9f6a5c75:m:mHAEk2bNyOI4W8-qUiEnGWw&amp;vxp=mtr" title="Click this link to access 1992 - 1995 HONDA CIVIC/DEL SOL FUSE BOX">1992 - 1995 HONDA CIVIC/DEL SOL FUSE BOX</a>, 

<a class="vip" href="http://www.ebay.com/itm/HAYNES-HONDA-CIVIC-DEL-SOL-1991-1995-REPAIR-MANUAL-/111847121189?hash=item1a0a9ba125:g:M5gAAOSwf-VWahyW&amp;vxp=mtr" title="Click this link to access HAYNES HONDA CIVIC DEL SOL 1991-1995 REPAIR MANUAL">HAYNES HONDA CIVIC DEL SOL 1991-1995 REPAIR MANUAL</a>, 

<a class="vip" href="http://www.ebay.com/itm/1996-2000-HONDA-CIVIC-DEL-SOL-all-models-repair-manual-/401035736130?hash=item5d5f97b442:g:UjAAAOSwxN5WXm-M&amp;vxp=mtr" title="Click this link to access 1996-2000 HONDA CIVIC &amp; DEL SOL - all models - repair manual">1996-2000 HONDA CIVIC &amp; DEL SOL - all models - repair manual</a>, 

<a class="vip" href="http://www.ebay.com/itm/Haynes-42024-1992-1995-Honda-Civic-and-del-sol-repair-manual-/321920364888?hash=item4af3f2f158:g:9GoAAOSwLzdWRog0&amp;vxp=mtr" title="Click this link to access Haynes 42024 1992-1995 Honda Civic and del sol repair manual.">Haynes 42024 1992-1995 Honda Civic and del sol repair manual.</a>, 

<a class="vip" href="http://www.ebay.com/itm/1988-2000-honda-acura-civic-integra-del-sol-pvc-valve-17130-pm6-003-oem-a137-/141782449307?hash=item2102e47c9b:g:iB8AAOSw0HVWAg5x&amp;vxp=mtr" title="Click this link to access 1988-2000 honda acura civic integra del sol pvc valve 17130-pm6-003 oem a137">1988-2000 honda acura civic integra del sol pvc valve 17130-pm6-003 oem a137</a>, 

<a class="vip" href="http://www.ebay.com/itm/88-2000-Honda-Civic-5-Speed-Manual-Shift-Knob-OEM-CRX-EF-EG-Si-Del-Sol-89-96-/262152990857?hash=item3d09893089:g:1x4AAOSwlV9WT7fj&amp;vxp=mtr" title="Click this link to access 88 - 2000 Honda Civic 5 Speed Manual Shift Knob OEM CRX EF EG Si Del Sol 89 96">88 - 2000 Honda Civic 5 Speed Manual Shift Knob OEM CRX EF EG Si Del Sol 89 96</a>, 

<a class="vip" href="http://www.ebay.com/itm/1988-2000-Honda-Civic-CRX-EF-SI-DX-HF-Del-Sol-Manual-Shift-Knob-OEM-88-91-/281859356536?hash=item41a0207778:g:XTAAAOSwMmBVj5mr&amp;vxp=mtr" title="Click this link to access 1988-2000 Honda Civic CRX EF SI DX HF Del Sol Manual Shift Knob OEM 88-91">1988-2000 Honda Civic CRX EF SI DX HF Del Sol Manual Shift Knob OEM 88-91</a>, 

<a class="vip" href="http://www.ebay.com/itm/Chilton-Repair-Manual-Honda-Civic-Del-Sol-1996-00-/262123397570?hash=item3d07c5a1c2:g:decAAOSwA4dWNs07&amp;vxp=mtr" title="Click this link to access Chilton Repair Manual Honda Civic &amp; Del Sol, 1996-00">Chilton Repair Manual Honda Civic &amp; Del Sol, 1996-00</a> 
] 

, что я хотел бы сделать в данный момент, именно получить только название листинга. Это значит, что я могу подсчитать частоту каждого слова в моем списке.

ожидается выход:

[ 
'1992 - 1995 HONDA CIVIC/DEL SOL FUSE BOX', 
'Chilton Repair Manual Honda Civic &amp; Del Sol, 1996-00', 
'ETC' 
] 

, если вы заметите, есть два места в каждой строке, отображающее название. сначала по адресу

"title=Click this link to access..." 

и снова сразу после него и идет к концу линии. Я попытался использовать string.split() и другие варианты, но я не могу понять, как использовать его таким образом, чтобы указать только слова внутри заголовка. я продолжаю получать разные слова, одну букву в строке или всего всего элемента списка и т. д.

Кто-нибудь знает хороший метод?

+0

Я рекомендовал бы присоединиться к программе eBay разработчиков и используя их API. Это намного лучше и бесплатно. https://go.developer.ebay.com – dstudeba

ответ

0

Вы должны вызвать .get_text() для каждого найденного элемента:

[a.get_text() for a in soup.find_all('a', {'class': 'vip'})] 
+0

@indianhearts предоставленный код будет перебирать элементы 'a' с помощью' class = "vip" 'и получать текст каждого найденного элемента. В чем проблема? Благодарю. – alecxe

Смежные вопросы