Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.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 如何将源HTML代码传递到BeautifulSoup?_Python_Web Scraping_Beautifulsoup_Urllib - Fatal编程技术网

Python 如何将源HTML代码传递到BeautifulSoup?

Python 如何将源HTML代码传递到BeautifulSoup?,python,web-scraping,beautifulsoup,urllib,Python,Web Scraping,Beautifulsoup,Urllib,我想从一个网站上的搜索结果网络刮。搜索词出现在URL中,因此我只导入urllib.request并执行以下操作 source = urllib.request.urlopen('https://....').read() 然后我将其传递给BeautifulSoup构造函数 soup = BeautifulSoup(source) 我想找到所有的div标签。但是,看起来您只能将html代码传入BeautifulSoup构造函数。似乎urllib.request.urlopen('https:/

我想从一个网站上的搜索结果网络刮。搜索词出现在URL中,因此我只导入urllib.request并执行以下操作

source = urllib.request.urlopen('https://....').read()
然后我将其传递给BeautifulSoup构造函数

soup = BeautifulSoup(source)

我想找到所有的div标签。但是,看起来您只能将html代码传入BeautifulSoup构造函数。似乎
urllib.request.urlopen('https://...“).read()
返回页面源代码,而不是inspect元素。如何将inspect元素传入BeautifulSoup构造函数?

BeautifulSoup构造函数接受两个字符串参数:

要分析的HTML字符串。 (可选)解析器的名称

发件人:

您不能将find值传递给构造函数,只需使用我前面回答中提到的findAll即可

编辑:阅读您的评论是我认为您需要的:

from bs4 import BeautifulSoup
html_doc = urllib.request.urlopen('https://....').read()
soup = BeautifulSoup(html_doc, 'html.parser')

print(soup.prettify())

签出:

但是,看起来您只能将html代码传递到BeautifulSoup构造函数中。是的,因为BeautifulSoup是一个HTML解析器,这是意料之中的。但是,看起来您只能将html代码传入BeautifulSoup构造函数。你所说的检查元素是什么意思?请澄清您的问题,请参阅。为什么您在开始之前没有阅读或阅读一篇文章?当您右键单击页面时,可以选择查看页面源代码和检查。您在检查时看到的HTML是我感兴趣的。@Pedro Lobito,因为文档没有真正指定要传递到BeautifulSoup的HTML代码种类之间的差异。教程链接很好,但是传递requests.get(url)。内容到BeautifulSoup肯定会给我带来问题,因为我的url有太多的div标记,但是find_all('div')什么都没有给我。当我执行requests.get(url.content)时,它会显示一堆javascript代码。我只想要普通的HTML,就像你检查页面时看到的一样。