我使用BeautifulSoup(BS4)构建一个刮刀工具,允许我从位于' h1'之间的任何TopShop.com产品页面中提取产品名称。标签。无法弄清楚为什么我写的代码不起作用!
from urllib2 import urlopen
from bs4 import BeautifulSoup
import re
TopShop_URL = raw_input("Enter a TopShop Product URL")
ProductPage = urlopen(TopShop_URL).read()
soup = BeautifulSoup(ProductPage)
ProductNames = soup.find_all('h1')
print ProductNames
答案 0 :(得分:2)
我使用请求(http://docs.python-requests.org/en/latest/)
进行此操作from bs4 import BeautifulSoup
import requests
content = requests.get("TOPShop_URL").content
soup = BeautifulSoup(content)
product_names = soup.findAll("h1")
print product_names
答案 1 :(得分:0)
您的代码是正确的,但问题是包含产品名称的div是通过JavaScript动态生成的。 为了能够成功解析此元素,您应该介意使用Selenium或类似工具,这样您就可以在所有dom完全加载后解析网页。