我有一些返回错误的代码: UserWarning:未明确指定解析器,因此我正在为此系统使用最佳的HTML解析器(“ html.parser”)。通常这不是问题,但是如果您在其他系统或不同的虚拟环境中运行此代码,则它可能使用不同的解析器并且行为不同。
引起此警告的代码在文件scrape7.py的第14行上。要消除此警告,请将附加参数'features =“ html.parser”'传递给BeautifulSoup构造函数。
我的代码是:
import numbers
import httplib2
import requests
import re
from bs4 import BeautifulSoup, SoupStrainer
http = httplib2.Http()
status, response = http.request('https://www.macys.com/social/the-edit/')
editurlslist = []
for link in BeautifulSoup(response, parse_only=SoupStrainer('a')):
if link.has_attr('href'):
if '/the-edit' in link['href']:
editurlslist.append(str("https://www.macys.com"+link['href']))
products = []
for i in editurlslist:
products.append(re.findall(r'(data-thisProduct=\"[0-9]{7}\")',
requests.get(i).text))
for i in editurlslist:
products.append(re.findall(r'(productid=\"[0-9]{7}\")',
requests.get(i).text))
products2 = [x for x in products if type(x) in numberic_types]
print(products2)
答案 0 :(得分:0)
将“ html.parser”参数传递给BeautifulSoup构造函数:
for link in BeautifulSoup(response, "html.parser", parse_only=SoupStrainer('a')):