Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用BeautifulSoup删除产品名称_Python_Python 2.7_Beautifulsoup - Fatal编程技术网

Python 使用BeautifulSoup删除产品名称

Python 使用BeautifulSoup删除产品名称,python,python-2.7,beautifulsoup,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

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

我使用请求()


您的代码是正确的,但问题是包含产品名称的div是通过JavaScript动态生成的。
为了能够成功解析此元素,您应该考虑使用或类似的工具,这将允许您在所有dom完全加载后解析网页。

一个问题是,您的代码在最后一行生成了一个语法错误:“它如何工作”?您看到的结果与您预期的结果有何不同?@bernie没有看到我这边的语法错误。期望在H1标记之间刮取数据,但上面的内容似乎没有返回任何内容。我对Python还很陌生,还没站稳脚跟。如果你没有语法错误,这意味着你没有在Python3上运行这个程序,并且这个问题的标记不恰当。你说得对,我在2.7上。抱歉。这是假设只有一个h1 tagThx可供您帮助。我尝试过这个方法,但被告知我需要一个外部解析器(lxml或html5lib)。我来试一试,看看结果如何。非常感谢你的帮助!
from bs4 import BeautifulSoup
import requests

content = requests.get("TOPShop_URL").content
soup = BeautifulSoup(content)
product_names = soup.findAll("h1")
print product_names