使用Python从HTML的标题标签中提取字符串

时间:2019-01-08 22:41:23

标签: python html

我正在尝试使用python提取以下.html文件中something中的每个title=" something"

<a class="BoxA" href="https://www.somethingsomething1.com" title=" AppleJuce 50x 122L">
...
</a></td>
<a class="BoxA" href="https://www.somethingsomething2.com" title=" AppleJam 100x 300L ">
...
</a></td>
and so on

根据我的搜索,我认为我应该使用

from lxml import html
import requests
import re

with open(r'C:\Users\Me\Desktop\1.html', "rb") as f:
    page = f.read()
tree = html.fromstring(page)
Titles= tree.xpath(...)

但是我在...somecode内的Titles= tree.xpath(...somecode)上遇到了问题

还是有其他方法可以做到这一点?谢谢。

此外,我想将AppleJuce 50x及其大小122L存储在两个不同的列表中,但不知道如何从字符串末尾的空格前找到一个数字。 / p>

到目前为止,这是我分割字符串的方法:

for title in Titles:
    number = re.search('\d', title)
    Apple= [title[:number.start()]]  #?????Is this right?
    size = [title[number.start():]]  #?????Is this right?

1 个答案:

答案 0 :(得分:0)

titleRegEx = r'title=\"([a-z\.\'A-Z0-9\s]*)\"'
findList = re.findall(titleRegEx, page)
appleList = []
sizeList = []
for item in findList:
    processedItem = item.lstrip().rstrip()
    processedItemList = processedItem.split(' ')
    appleList.append(processedItemList[0] + " "+ processedItemList[1])
    sizeList.append(processedItemList[2])