提取自定义"数据"标签使用BeautifulSoup(python)

时间:2018-06-09 17:57:01

标签: python web-scraping beautifulsoup

抓取看起来像这样的HTML:



<div class="resultRow" data-unix="1528542937" id="resultRow1">
<div class="resultRow" data-unix="1528542937" id="resultRow2">
<div class="resultRow" data-unix="1528542937" id="resultRow1">
&#13;
&#13;
&#13;

如何提取data-unix字段的值?

我是否必须使用REGEXP或有更好的方法吗?

for tmp in soup.findAll('div', {'class':'resultRow'}):
      x = tmp.find(re.compile('/data-unix="(.*)"/'))

提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用为__getitem__对象字典样式声明的内置BeautifulSoup方法:

from bs4 import BeautifulSoup as soup
s = """
<div class="resultRow" data-unix="1528542937" id="resultRow1">
<div class="resultRow" data-unix="1528542937" id="resultRow2">
<div class="resultRow" data-unix="1528542937" id="resultRow1"> 
"""
final_results = [i['data-unix'] for i in soup(s, 'html.parser').find_all('div', {'class':'resultRow'})]

输出:

['1528542937', '1528542937', '1528542937']

答案 1 :(得分:0)

根据你关于在循环中移动Ajax1234的答案的问题:

let