beautifulsoup 相关问题

Beautiful Soup是一个用于解析HTML / XML的Python包。此软件包的最新版本是版本4,导入为bs4。

无法导入美丽汤

我正在尝试使用 BeautifulSoup,尽管使用了 import 语句: 从 bs4 导入 BeautifulSoup 我收到错误:ImportError:无法导入名称 BeautifulSoup 导入 bs4 不...

回答 16 投票 0

使用请求库时仅缺少 <tr> 标签

我正在尝试构建一个简单的网络抓取工具。 现在,我在从每一行提取数据时遇到问题,因为缺少 标题。 (仅缺少 标题,并且 <\tr>

回答 2 投票 0

从网站提取录制 URL 时遇到问题

我是Python新手,我需要解析网站上的所有记录URL。我尝试了下面的程序,但它无法找到录制链接,但它正在打印其他链接...

回答 1 投票 0

Python selenium scraper 总是返回空列表

即使明显存在具有指定类名的元素,以下代码也始终返回空列表: 从硒导入网络驱动程序 从 selenium.webdriver.common.by 导入 夫...

回答 2 投票 0

如何选择两个td并用bs4作为单行输出?

我想获取一些数据,但我很难选择两个 td 并将输出放在它们所属的同一行上。 HTML 示例: ፳ 我想获取一些数据,但我很难选择两个td并将输出放在它们所属的同一行。 HTML 示例: <tr> <td class ='verseNumCell'> ፳ </td> <td class ='verseConentCell'> ወትቤሎን ኢትስምያኒ ኖሔሚን ስምያኒ መራር እስመ መረርኩ ፈድፋደ ወብዙኀ ። </td> </tr> <tr> <td class ='verseNumCell'> ፳፩ </td> <td class ='verseConentCell'> አንሰ ምልእትየ ሖርኩ ወዕራቅየ አግብአኒ <span class='divineWord'>እግዚአብሔር</span> ለምንት ትብላኒ ኖሔሚን እንዘ <span class='divineWord'>እግዚአብሔር</span> አኅሰረኒ ወፈድፋደ አሕመመኒ ። </td> </tr> <tr> 我做了什么: import bs4 import requests import re url = "https://www.ethiopicbible.com/books/%E1%8A%A6%E1%88%AA%E1%89%B5-%E1%8B%98%E1%8D%8D%E1%8C%A5%E1%88%A8%E1%89%B5-1" parameters = {} response = requests.get(url, params=parameters) soup = bs4.BeautifulSoup(response.text, "html.parser") element_list = soup.find("div", class_="geezBibleChapterContainer").find_all("td") for element in element_list: text = element.get_text() text = os.linesep.join([s for s in text.splitlines() if s]) if not re.match(r'^\s*$', text): print(text) 我的输出: ፳ ወትቤሎን ኢትስምያኒ ኖሔሚን ስምያኒ መራር እስመ መረርኩ ፈድፋደ ወብዙኀ ። ፳፩ አንሰ ምልእትየ ሖርኩ ወዕራቅየ አግብአኒ እግዚአብሔር</span> ለምንት ትብላኒ ኖሔሚን እንዘ 我想得到什么: ፳ ወትቤሎን ኢትስምያኒ ኖሔሚን ስምያኒ መራር እስመ መረርኩ ፈድፋደ ወብዙኀ ። ፳፩ አንሰ ምልእትየ ሖርኩ ወዕራቅየ አግብአኒ እግዚአብሔር</span> ለምንት ትብላኒ ኖሔሚን እንዘ 我应该在单独的“汤”中选择 td 吗? 无需选择单元格,只需选择每一行并使用 get_text(separator=' ',strip=True): for row in soup.select('div.geezBibleChapterContainer tr'): print(row.get_text(' ',strip=True)) 什么导致: ፩ በቀዳሚ ገብረ እግዚአብሔር ሰማየ ወምድረ ። ፪ ወምድርሰ ኢታስተርኢ ወኢኮነት ድሉተ ወጽልመት መልዕልተ ቀላይ ወመንፈሰ እግዚአብሔር ይጼልል መልዕልተ ማይ ። ፫ ወይቤ እግዚአብሔር ለይኩን ብርሃን ወኮነ ብርሃን ። ፬ ወርእዮ እግዚአብሔር ለብርሃን ከመ ሠናይ ወፈለጠ እግዚአብሔር ማእከለ ብርሃን ወማእከለ ጽልመት ። ፭ ወሰመዮ እግዚአብሔር ለብርሃን ዕለተ ወለጽልመት ሌሊተ ወኮነ ሌሊተ ወጸብሐ ወኮነ መዓልተ ፩ ። ፮ ወይቤ እግዚአብሔር ለይኩን ጠፈር ማእከለ ማይ ከመ ይፍልጥ ማእከለ ማይ ወኮነ ከማሁ ። ፯ ወገብረ እግዚአብሔር ጠፈረ ወፈለጠ እግዚአብሔር ማእከለ ማይ ዘታሕተ ጠፈር ወማእከለ ማይ ዘመልዕልተ ጠፈር ። ፰ ወሰመዮ እግዚአብሔር ለውእቱ ጠፈር ሰማየ ወርእየ እግዚአብሔር ከመ ሠናይ ወኮነ ሌሊተ ወጸብሐ ወኮነ ካልእተ ዕለተ ። 示例 import requests import bs4 url = "https://www.ethiopicbible.com/books/%E1%8A%A6%E1%88%AA%E1%89%B5-%E1%8B%98%E1%8D%8D%E1%8C%A5%E1%88%A8%E1%89%B5-1" parameters = {} response = requests.get(url, params=parameters) soup = bs4.BeautifulSoup(response.text, "html.parser") for row in soup.select('div.geezBibleChapterContainer tr'): print(row.get_text(separator=' ',strip=True))

回答 1 投票 0

如何用BeautifulSoup刮桌子?

我正在尝试从该网站 https://evanalytics.com/nfl/stats/ 抓取数据,但没有成功。我正在尝试BeautifulSoup。 导入请求 从 bs4 导入 BeautifulSoup 进口熊猫...

回答 1 投票 0

当我尝试提取该网站的所有网址时出现错误。我能做什么?

出现此错误 - hostIP = socket.gethostbyname(仅主机) UnicodeError:使用“idna”编解码器进行编码失败(UnicodeError:标签为空或太长) 我尝试跳过标签为空的 URL...

回答 1 投票 0

如何使用BeautifulSoup从网站提取内容?

我必须从该网站文本中提取文章内容 从 bs4 导入 BeautifulSoup 导入请求 将 pandas 导入为 pd url = 'https://economictimes.indiatimes.com/industry/cons-products/food...

回答 1 投票 0

Python 3.7 BeautifullSoup soup.find 错误 - find() 不接受关键字参数

我从 URL 获得了以下 HTML: 我从 URL 中获得了以下 HTML: <h4> \r\n \r\n\r\n <a href="/l"> \r\n <!-- mp_trans_rt_start id="1" args="as" 1 -->\r\n <span class="brandWrapTitle">\r\n <span class="productdescriptionbrand">Mxxx</span>\r\n </span>\r\n <span class="nameWrapTitle">\r\n <span class="productdescriptionname">Axxxname</span>\r\n </span>\r\n <!-- mp_trans_rt_end 1 -->\r\n </a> \r\n\r\n </h4> 我正在尝试使用 python 来查找类名: import urllib.request from bs4 import BeautifulSoup url = "https://link" user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36' urlwithagent = urllib.request.Request(url,headers={'User-Agent': user_agent}) response = urllib.request.urlopen(urlwithagent) soup = response.read() product = soup.find("h4", attrs ={"class=": "productdescriptionname"}) print (product) Everythink 完美运行直到上线: product = soup.find("h4", attrs ={"class=": "productdescriptionname"}) 我收到如下错误: find() takes no keyword arguments 我不知道如何解决它 - 有很多信息,但没有任何作用:/ 在使用 BeautifulSoup 之前,您需要将其转换为 find 对象,否则它会使用 str.find 例如: soup = BeautifulSoup(response.read(), "html.parser") product = soup.find("h4", attrs ={"class": "productdescriptionname"}) print (product) 我认为这值得一提,如果 find 方法有问题,检查 type(soup) 是一个很好的方法来查明您是否正在使用正确的 bs4.BeautifulSoup 对象而不是 str。 我想在这里指出一件事,如果使用 soup.prettify() 使 html 可读。需要注意的是,.prettify() 将 bs4.BeautifulSoup 转换为 str。所以这应该单独使用,例如: soup = BeautifulSoup(response) # type(soup) --> bs4.BeautifulSoup print(soup.prettify()) # print readable html 不喜欢: soup = BeautifulSoup(response).prettify() # type(soup) --> str 我在网上读到的关于这个问题的另一件事是这样的:“你的 beautiful soup 版本可能不支持 find。”因此,我最终升级和降级了版本很多次,然后才意识到这是一个错误的陈述由业余爱好者制作。 在打印之前我已经为此奋斗了大约 45 分钟type(soup)。我希望这可以节省其他人的时间。 Может кому подойдет история такая повторял за автором ютуба и переписывал код для парсинга и вышла такая же ошибка как в вопросе искал читал, шерстил инет пока не начал перепроверять свой код в общем мой код с ошибкой: from requests import Session from bs4 import BeautifulSoup as BS from time import sleep headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 YaBrowser/23.11.0.0 Safari/537.36'} work = Session() work.get('https://quotes.toscrape.com/', headers=headers) response = work.get('https://quotes.toscrape.com/login', headers=headers) soup = BS(response.text, 'lxml') token = soup.find('from').find('input').get('') в чем здесь ошибка? вот в этой строке token = soup.find('from').find('input').get('') а именно soup.find('from') я решил скать ошибку методом исключения поэтому довел до такого состояния и понял что в странице нет тэга '来自' а есть тэг '形式' как только поменял на тэг 'form' ошибка с soup.find() - find() ушла может кому поможет

回答 3 投票 0

使用 Selenium/Requests 进行网页抓取并通过 CloudFare - Python

我正在尝试抓取一个使用 Cloudflare DNS 和 CDN/代理的网站。我尝试过 Tor、Selenium_stealth 和 UnDetected_Chrome,但都已被检测到。有什么办法可以绕过 CLoudfare

回答 1 投票 0

追加数据时数据不完整,出现“无法设置列不匹配的行”的错误

使用Python通过函数抓取数据并附加到数据框。由于声明的数据帧不匹配以及列中缺少数据,追加功能被破坏...

回答 1 投票 0

如何使用 BeautifulSoup 从多个 URL 检索数据(Python 仅返回最后一行)

我正在构建一个代码,该代码将从航空公司评论网站检索所有评论标题。我使用 5 个不同的 URL,因为我想比较 5 个不同的标题

回答 1 投票 0

如何通过请求从div或类获取文本

我正在编写一个脚本,用于定位并打印该网站最近一次交易的交易金额 https://ltc.tokenview.io/en/address/M8T1B2Z97gVdvmfkQcAtYbEepune1tzGua 这是...

回答 1 投票 0

使用 beautifulsoup 访问嵌套元素

我想找到嵌套在 中的所有 li 元素。我尝试了以下解决方案,它们都返回 0 消息: 消息=... 我想找到嵌套在 li 中的所有 <ol class="messageList" id="messageList"> 元素。我尝试了以下解决方案,它们都返回 0 条消息: messages = soup.find_all("ol") messages = soup.find_all('div', class_='messageContent') messages = soup.find_all("li") messages = soup.select('ol > li') messages = soup.select('.messageList > li') 完整的 html 可以在这个 gist 中看到。 只是想知道获取这些列表项的正确方法是什么。 在美丽的汤中,你是否必须知道嵌套路径才能获取你想要的元素。或者像 soup.find_all("li") 这样的操作应该返回所有元素,无论它是否嵌套? 也对非 bs4 答案感到高兴。 感谢您提供示例代码+数据。 请理解 BS4 选择器与 CSS 选择器不同。 这将挑选出您想要的各种列表项元素: def parse(in_file: Path) -> None: hrule = "=" * 60 soup = BeautifulSoup(in_file.read_text(), "html.parser") ol = soup.find("ol", {"class": "messageList", "id": "messageList"}) for li in ol.find_all("li"): print(f"\n\n{hrule}\n\n{li}")

回答 1 投票 0

如何与网页抓取中的下拉列表交互?

我正在尝试使用 ChromeDriver 浏览此网站:https://apps5.mineco.gob.pe/transparencia/mensual/。 有两个下拉列表,但我只对其中一个特别感兴趣: 我想卖...

回答 1 投票 0

网络抓取中的下拉列表

我正在尝试使用 ChromeDriver 浏览此网站:https://apps5.mineco.gob.pe/transparencia/mensual/。 有两个下拉列表,但我只对其中一个特别感兴趣: 我想卖...

回答 1 投票 0

有没有办法通过类名的开头找到div?

我需要抓取一些类似网站的具体数据,所以我使用Beautiful Soup和请求,我在这个网站上发现了类似的东西,... 我需要抓取一些类似网站的具体数据,所以我使用了 Beautiful Soup 和 requests,我在这个网站上发现了类似的东西<div class="x1qjc9v5 something something">,我需要抓取它下面的日期。唯一匹配的是开始。那么我可以在网站上搜索该元素吗?以及如何做? 取决于您需要对日期做什么, 您可以使用 JavaScript 来选择它 document.querySelectorAll('[class^="x1qjc9v5"]') 这是您要找的吗?

回答 1 投票 0

SEC EDGAR 13F 源 HTTPError:HTTP 错误 403:禁止

请帮忙,SEC EDGAR 以前一直工作得很好,直到现在。它给出 HTTPError: HTTP Error 403: Forbidden 将 pandas 导入为 pd 表= pd.read_html(“https://www.sec.gov/Archives/edgar/data/1541617/

回答 2 投票 0

使用 ELEMNTREE 和 Beautifulsoup 解析 XML 时面临内存问题

我正在尝试使用 beautifulsoup 和 elementree 解析和 XML,但它导致我的电脑崩溃,因为 XML 文件大小为 15,98,040KB,是否可以解析这么大的文件???或任何

回答 1 投票 0

为什么用户代理在抓取网站时不起作用?

有谁知道为什么我的用户代理不工作。当我打印“汤”时,我得到 我们的系统检测到来自您的计算机网络的异常流量。此页面检查是否真的是您发送的...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.