1 python beautifulsoup keyerror
我正在尝试抓取一个网站。我学会了从两种资源中抓取:一种用于tag.get('href')从a标签中获取 href ,另一种用于tag['href']获取相同的内容。据我了解,他们都做同样的事情。但是当我尝试这段代码时:
link_list = [l.get('href') for l in soup.find_all('a')]
Run Code Online (Sandbox Code Playgroud)
它适用于该.get方法,但不适用于字典访问方式。
link_list = [l['href'] for l in soup.find_all('a')]
Run Code Online (Sandbox Code Playgroud)
这会抛出一个KeyError. 我对刮刮很陌生,所以如果这是一个愚蠢的,请原谅。
编辑 - 这两种方法都适用于 find 方法而不是 find_all。
您可以让仅BeautifulSoup 查找具有现有href属性的链接。测试
您可以通过find_all()以下两种常见方式进行操作:
link_list = [a['href'] for a in soup.find_all('a', href=True)]
Run Code Online (Sandbox Code Playgroud)
或者,使用CSS 选择器:
link_list = [a['href'] for a in soup.select('a[href]')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8474 次 |
| 最近记录: |