如何将CSS Selector的输出传递给漂亮的汤?

时间:2016-02-11 21:09:13

标签: python css web-scraping css-selectors beautifulsoup

我想抓一些网页,我正在使用名为“SelectorGadget”的Chrome扩展程序。它是一个CSS选择器。现在举例说明此网址:http://www.www2015.it/documents/proceedings/forms/proceedings.htm CSS选择器给出了这个文件列表的输出: tr~tr + tr td + td a 现在,问题是我无法弄清楚如何将这个输出传递给美丽的汤。在以下行中,.select()无法识别这些选择器!

import requests
page = requests.get("http://www.www2015.it/documents/proceedings/forms/proceedings.htm")
import bs4
soup = bs4.BeautifulSoup(page.content)
soup.select("tr~ tr+ tr td+ td a")

1 个答案:

答案 0 :(得分:0)

问题是 - BeautifulSoupvery limited CSS selector syntax support。在您的情况下,横向使用~+并不会按原样运作。

如果您希望匹配此页面上的pdf链接,我会使用以下选择器:

soup.select("a[href$=pdf]")  # get the links where href ends with "pdf"