说明:
在爬取网页数据所需的内容后,通过select方法选取的内容会生成一个列表,但列表中包含HTML的标签等杂项,如[武侯祠/杜甫草堂/双楠鹭岛美食街精致两居],如果只想得到其中的文本,就要用到以下方法;
方法一:
import requests
from bs4 import BeautifulSoup
url = 'http://cd.xiaozhu.com/fangzi/636003301.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
web_data = requests.get(url, headers=headers)
web_data = web_data.text
soup = BeautifulSoup(web_data, 'lxml')
title = soup.select('body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > h4 > em')
# 用循环的形式得到
for ti in title:
print(ti.text)
方法二:
import requests
from bs4 import BeautifulSoup
url = 'http://cd.xiaozhu.com/fangzi/636003301.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
web_data = requests.get(url, headers=headers)
web_data = web_data.text
soup = BeautifulSoup(web_data, 'lxml')
title = soup.select('body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > h4 > em')
# 指定列表中的元素
title = title[0].text
print(title)
结果:
武侯祠/杜甫草堂/双楠鹭岛美食街精致两居