这可能是因为另一个站点的HTML代码与第一个站点不同。可以尝试使用不同的Beautiful Soup抓取模式来解决这个问题。例如,如果使用了CSS选择器,可以尝试使用标签选择器或类选择器。
以下是一个使用标签选择器的示例代码:
import requests
from bs4 import BeautifulSoup
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
divs = soup.find_all('div')
print(divs)
如果这在第一个站点上有效,但在另一个站点上无效,可以尝试使用类选择器:
import requests
from bs4 import BeautifulSoup
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
divs = soup.find_all(class_='my_class')
print(divs)
在这个示例中,my_class
是您要查找的类的名称。请注意,CSS选择器需要使用class_
而不是class
,以避免Python关键字的冲突。
通过尝试不同的选择器类型,您可以找到适用于不同站点的解决方案。