我正在寻找一种从学生住宿网站uniplaces:https://www.uniplaces.com/en/accommodation/berlin上抓取数据的方法。
最后,我想为每个属性抓取一些具体信息,例如卧室大小,室友数量,位置。为此,我将首先必须刮除所有属性链接,然后再刮除单个链接。
但是,即使在通过控制台并使用BeautifulSoup提取URL后,我也无法提取导致单独列出的URL。它们似乎没有作为[href]包含在内,并且我无法在html代码中标识任何其他格式的链接。
这是我使用的python代码,但也未返回任何内容: 从bs4导入BeautifulSoup 导入urllib.request
resp = urllib.request.urlopen("https://www.uniplaces.com/accommodation/lisbon")
soup = BeautifulSoup(resp, from_encoding=resp.info().get_param('charset'))
for link in soup.find_all('a', href=True):
print(link['href'])
所以我的问题是:如果链接不包含http://格式或未引用为[href]:有什么方法可以提取列表网址?
非常感谢您对此提供的支持!
祝一切顺利, 汉娜
答案 0 :(得分:0)
如果您查看“网络”标签,则会发现一些专门针对此网址的API调用:https://www.uniplaces.com/api/search/offers?city=PT-lisbon&limit=24&locale=en_GB&ne=38.79507211908374%2C-9.046124472314432&page=1&sw=38.68769060641113%2C-9.327992453271463
,它指定位置PT-里斯本以及最北(ne)和西南(sw)方向。从此文件中,您可以获取每个优惠的ID并将其附加到当前网址,还可以获取从网页中获取的所有信息(价格,说明等...)
例如:
System.out.println("I am " + getName());