无法提取文本并通过 BeautifulSoup 查找所有内容
Can't extract the text and find all by BeautifulSoup
我想提取装备中所有可用的物品,但我只能获得前四项,然后我得到了'+ plus'。
import urllib2
from bs4 import BeautifulSoup
import re
import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
url = 'https://www.airbnb.fr/rooms/8261637?s=bAMrFL5A'
req = urllib2.Request(url = url, headers = headers)
html = urllib2.urlopen(req)
bsobj = BeautifulSoup(html.read(),'lxml')
b = bsobj.findAll("div",{"class": "row amenities"})
对于b的结果,它没有return标签内的所有列表。
最后一个是'+ plus',如下所示。
<span data-reactid=".mjeft4n4sg.0.0.0.0.1.8.1.0.0..1.0.0">+ Plus</span></strong></a></div></div></div></div></div>]
这是因为页面加载后使用 reactjs 填充了数据。因此,如果您通过请求下载它,则看不到数据。
相反,您必须使用 selenium web driver,打开页面并处理所有 javascript。然后你就可以访问你期望的所有数据
我想提取装备中所有可用的物品,但我只能获得前四项,然后我得到了'+ plus'。
import urllib2
from bs4 import BeautifulSoup
import re
import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
url = 'https://www.airbnb.fr/rooms/8261637?s=bAMrFL5A'
req = urllib2.Request(url = url, headers = headers)
html = urllib2.urlopen(req)
bsobj = BeautifulSoup(html.read(),'lxml')
b = bsobj.findAll("div",{"class": "row amenities"})
对于b的结果,它没有return标签内的所有列表。 最后一个是'+ plus',如下所示。
<span data-reactid=".mjeft4n4sg.0.0.0.0.1.8.1.0.0..1.0.0">+ Plus</span></strong></a></div></div></div></div></div>]
这是因为页面加载后使用 reactjs 填充了数据。因此,如果您通过请求下载它,则看不到数据。
相反,您必须使用 selenium web driver,打开页面并处理所有 javascript。然后你就可以访问你期望的所有数据