【发布时间】:2020-10-04 21:45:51
【问题描述】:
我在使用 Python 解析链接时遇到问题。有我的代码:
def get_content(html):
soup = BeautifulSoup(html, 'lxml')
items = soup.find_all('div', class_='grid-item___eaXVb')
for item in items:
link = item.find('a', class_='gl-product-card__details-link')
print(link.get('href'))
我得到这个错误:
Traceback (most recent call last):
File "parser.py", line 32, in <module>
parse()
File "parser.py", line 27, in parse
get_content(html.text)
File "parser.py", line 21, in get_content
print(link.get('href'))
AttributeError: 'NoneType' object has no attribute 'get'
但是当我尝试这个时:
for item in items:
link = item.find('a', class_='gl-product-card__details-link')
print(type(link))
我得到一个回复,所有链接都有类型:
<class 'bs4.element.Tag'>
<class 'bs4.element.Tag'>
...
...
...
<class 'bs4.element.Tag'>
<class 'bs4.element.Tag'>
我在哪里做错了?怎么了?
【问题讨论】:
-
请在您的帖子中添加您的
url。 -
您的预期结果是什么?为什么必须使用 type(link) ?
标签: python parsing web-scraping beautifulsoup lxml