Python 乌苏提取液

Python 乌苏提取液,python,html,beautifulsoup,html-parsing,Python,Html,Beautifulsoup,Html Parsing,以下是html代码: <ul> <li><a href="brands/acapulco-gold/141120">Acapulco Gold</a></li> <li><a href="brands/adam-lister/141223">Adam Lister</a></li> <li><a href="brands/adidas-x-raf-sim

以下是html代码:

<ul>
   <li><a href="brands/acapulco-gold/141120">Acapulco Gold</a></li>
   <li><a href="brands/adam-lister/141223">Adam Lister</a></li>
   <li><a href="brands/adidas-x-raf-simons/125513">adidas x RAF SIMONS</a></li>
我想提取品牌,如
10Deep
Acapulco Gold
,我该怎么做?

您可以编写一个
a,并使用
href
属性值获取所有
a
元素,该属性值以
品牌开始,直接位于
li
内部,该属性直接位于
ul
内部:

for link in soup.select("ul > li > a[href^=brands]"):
    print link.get_text()

我不能用Beautifulsoup做这件事,但在等待另一个答案时。。。您可以阅读每一行并检索所需的文本

import urllib
import re

source = urllib.urlopen("https://www.jackthreads.com/ca/brands")
lines = source.readlines()

brand  = []
for link in lines[1797:2121]:
  find = re.findall(r'<li><a href="brands[^>]*?>(.*?)</a>', link)
  if len(find) > 0:
    brand.append(find[0])

print(brand[0:12])
#>['10Deep', 'Acapulco Gold', 'Adam Lister', 'AdNArt', 'Afends', 'Akomplice', 'Akribos XXIV', 'Alistare', 'Alpha Beta', 'Alpha Industries', 'Altamont', 'Alternative']
导入urllib
进口稀土
source=urllib.urlopen(“https://www.jackthreads.com/ca/brands")
lines=source.readlines()
品牌=[]
对于行中的链接[1797:2121]:
find=re.findall(r'
  • ,链接) 如果len(find)>0: brand.append(查找[0]) 打印(品牌[0:12]) #>['10Deep','Acapulco Gold','Adam Lister','AdNArt','Afends','Akomplice','Akribos XXIV','Alistare','Alpha Beta','Alpha Industries','Altamont','Alternative']
  • 我试过了,但只找到“li”是不够的,因为它只是所有html代码的一部分。但是,如果我们能找到所有“
  • 嗨,阿塔尼斯,我更新了我的答案,但我不完全理解你最后的评论。你能更新一下你的问题,让它更清楚吗。谢谢你的帮助。这个网站是,我正试着提取这里的所有品牌。我看到了html代码,发现,所有品牌都是以
  • 我使用ctrl+f来确定是否可以找到这些品牌。如果我找到“
  • def grabHref(url,localfile):html=urllib2.urlopen(url)。read()html=unicode(html,'gb2312','ignore')。encode('utf-8','ignore')soup=BeautifulSoup(html)作为soup中的链接。选择(“ul>li>a[href^=brands/]):allBrands link获取文本()打印allBrands myfile=open(localfile,'wb'))myfile.write(allBrands)myfile.write('\r\n')myfile.close()html代码中有太多的“li”,找到正确答案的唯一方法是找到所有“
  • 如果我想提取诸如“brands/acapulco gold/141120”之类的信息,该怎么办?