Python 要在列表之间提取的Web爬虫

Python 要在列表之间提取的Web爬虫,python,parsing,web-scraping,beautifulsoup,html-parsing,Python,Parsing,Web Scraping,Beautifulsoup,Html Parsing,我正在用python编写一个网络爬虫。我希望获取标签之间的所有内容。例如: <li>January 13, 1991: At least 40 people <a href ="......."> </a> </li> 因此,我想: a、 提取日期-并将其转换为dd/mm/yyyy格式 b、 人面前的数字 soup = BeautifulSoup(page1) h2 =soup.find_all("li") count = 0 while cou

我正在用python编写一个网络爬虫。我希望获取标签之间的所有内容。例如:

<li>January 13, 1991: At least 40 people <a href ="......."> </a> </li>
因此,我想:

a、 提取日期-并将其转换为dd/mm/yyyy格式

b、 人面前的数字

soup = BeautifulSoup(page1)
h2 =soup.find_all("li")
count = 0
while count < len(h2):
    print (str(h2[count].get_text().encode('ascii', 'ignore')))
    count += 1
我现在只能提取文本

使用.text获取文本,在第一次出现时:,使用指定现有的%B%d,%Y格式将日期字符串转换为datetime,然后使用指定所需的%d/%m/%Y格式将其格式化为字符串,并使用至少\d+正则表达式提取数字,其中\d+是匹配一个或多个数字的a:

from datetime import datetime
import re

from bs4 import BeautifulSoup


data = '<li>January 13, 1991: At least 40 people <a href ="......."> </a> </li>'
soup = BeautifulSoup(data)

date_string, rest = soup.li.text.split(':', 1)

print datetime.strptime(date_string, '%B %d, %Y').strftime('%d/%m/%Y')
print re.match(r'At least (\d+)', rest.strip()).group(1)
使用.text获取文本,在第一次出现时:,使用指定现有%B%d,%Y格式将日期字符串转换为datetime,然后使用指定所需的%d/%m/%Y格式将其格式化为字符串,并使用至少\d+正则表达式提取数字,其中\d+是匹配一个或多个数字的a:

from datetime import datetime
import re

from bs4 import BeautifulSoup


data = '<li>January 13, 1991: At least 40 people <a href ="......."> </a> </li>'
soup = BeautifulSoup(data)

date_string, rest = soup.li.text.split(':', 1)

print datetime.strptime(date_string, '%B %d, %Y').strftime('%d/%m/%Y')
print re.match(r'At least (\d+)', rest.strip()).group(1)

如果在数据对象中定义了完整的HTML代码而不只是TAG。@ AbHeHekbHaTaA,那么您需要使用Sfind、Find、ALL或CopyFurt提供的其他方法来定位元素。如果您很难找到所需的元素,请考虑单独问一个问题。谢谢。请检查这个问题。如果在数据对象中定义了完整的HTML代码而不只是TAG。@ AbHeHekbHaTaA,那么您需要使用Sfind、Find、ALL或CopyFurt提供的其他方法来定位元素。如果您很难找到所需的元素,请考虑单独问一个问题。谢谢。请检查这个问题。