我在stackoverflow进行了彻底的搜索,但没有找到合适的解决方案。我正在清理一个遗留的网站,我想提取所有的标签和输入名称。旧网页的html格式如下所示
<div class="labellong">First Name</div>
<INPUT class="input-l" name="firstname">
<div class="labellong">Last Name</div>
<INPUT class="input-l" name="lastname">
<div class="labellong">Gender</div>
<input type="radio" name="gender" value="male"> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<table>
<tr valign="top">
<td width="174">User Name</td>
<td width="888"><input name="username" value="" id="username" class="input-m" /></td>
</tr>
<tr>
<td width="174">User Account</td>
<td width="888"><input name="useraccount" value="" id="uaseraccount" class="input-m" /></td>
</tr>
</table>
我想使用python提取输出,并将beautifulsoup作为
First Name, firstname
Last Name, lastname
Gender, gender
User Name, username
User Account, useraccount
我确实尝试了findall方法,但失败了,因为我需要标签(文本)和输入标签名称一起,有没有解决方案与标签文本的多个html标签报废?谢谢
我是一个新的网页刮削和这里的代码,我做了尝试
from bs4 import BeautifulSoup
import urllib.request as urllib2
f = open("g:\output.txt", "w")
errFile = open("g:\error.txt", "w")
url = "file:///g://pharmacy.htm"
file = urllib2.urlopen(url)
soup = BeautifulSoup(file)
for message1 in soup.findAll(["div", {"class": "labellong"}, "input", {"class": "input-l"}, "td"]):
outText = message1.get_text()
f.write( outText + '\n')
f.close()
errFile.close()
我会尝试的解决方案是选择同级https://www.crummy.com/software/beautifulsoup/bs4/doc/#next-sibling-and-previous-sibling
所以首先找到标签,然后用每个标签找到兄弟
编辑
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("/Projects/python/webscraping/web.html"),"html5lib")
for div in soup.findAll(["div", {"class": "labellong"}]):
labelName = div.get_text()
for sibling in div.next_siblings:
if (sibling.name == "input"):
inputName = sibling['name']
break
print labelName, inputName
for row in soup.findAll(["tr"]):
labelName = None
inputName = None
for td in row:
if (td.name == 'td'):
if (not labelName): # labelName not yet set
labelName = td.get_text()
else: # second td so inputName
inputName = td.contents[0]['name']
print labelName, inputName
在我使用Jsoup连接到Instagram页面后,我想从一个标记中提取整个外部html。不知怎的,当我检查页面并从标记中复制外部html时,我得到了大量的行,而我使用Jsoup只得到了很少的行(不知怎的,嵌套标记的html被忽略了)任何帮助都将感谢如何获得整个html! 代码: 输出: 编辑:我希望保存span标记的整个HTML(我希望HTMLUnit/JSOUP的结果与我右键单击标记时的结果相同
我需要从下面的链接刮表。 我使用selenium编写了一个脚本,可以单击下一个页面,但每个页面中的表似乎没有标记。相反,它似乎只包含标记。我发现很难在这个网站上找到桌子。任何帮助都是非常贴切的。 编辑%1 提前道谢。
问题内容: 我目前正在开发一个Ionic Framework(AngularJS)项目,该项目使用地理位置和Google Maps显示用户的位置。 我正在尝试向用户显示地理位置以及该区域周围的多个标记。 我的地理位置已正常运行,但似乎无法添加多个标记。 地点 控制器 问题答案:
我想在每个文本之后使用jsoup提取一个文本。有没有办法选择它? 示例代码如下: 当它完成时,它会创建自动id示例id=123
我是编程新手,我正试图建立一个网站。 该网站是一个在线赌场(https://www.888casino.it/live-casino/#filters=all-轮盘赌),我只需要刮取其中一个显示的数字(特定位置中包含的数字大约每30秒改变一次,但我稍后会考虑这个问题)。 我要刮取的数字包含在span标记中,我无法找到它,因为它们没有id或类。因此,我考虑定位包含span标记的div标记,然后使用函
我很高兴过去几天一直在学习python。今天我要讲一个叫做网络抓取的话题。我试图刮除div中的所有p标签,除了前3个p标签。因为p标记没有类或id,所以我找不到方法取消它们 我的代码: 我的输出: 虚拟文本 不需要的文本 没有文本 Lorem ipsum dolor sit amet 临时工程量清单 献祭精英 我们的劳动和医疗保险公司 我需要的是: Lorem ipsum dolor sit am