使用BeautifulSoup刮取产品名称

时间:2013-02-14 23:24:45

标签: python python-2.7 beautifulsoup

我使用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

2 个答案:

答案 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完全加载后解析网页。