使用Beauty Soup在Python中解析网页
这是我用BeautifulSoup抓取的网页源代码使用Beauty Soup在Python中解析网页,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,这是我用BeautifulSoup抓取的网页源代码 1. 112 3510 //重复模式 <tr > <td> 2 </td> <td style="cipher1"> 但是有了这个,我得到了“cipher7”的多次出现,因为它在网页中多次出现 所以我可以用这个 <td style="cipher1">... 。。。 因为它是我想要的东西所独有的 那么,如何修改我的代码才能做到这一点呢?您可
1.
112
3510
//重复模式
<tr >
<td>
2
</td>
<td style="cipher1">
但是有了这个,我得到了“cipher7”的多次出现,因为它在网页中多次出现
所以我可以用这个
<td style="cipher1">...
。。。
因为它是我想要的东西所独有的
那么,如何修改我的代码才能做到这一点呢?您可以首先找到
td
标记(因为您说它是唯一的),然后从中找到指定的a
标记
all_as = []
rows = soup.find_all('td', {'style':'cipher1'})
for row in rows:
all_as.append(row.find_all('a', class_ = "cipher7"))
您可以使用方便的
select
方法,该方法将CSS选择器作为参数:
row = soup.select("td[style=cipher1] > a.cipher7")
我的意思是,这是在我想要的行之前。我做了你提到的,但现在输出只是第一次出现。它显示错误!(TypeError:列表索引必须是整数,而不是str“”)如果我使用这个f.write(row['title']+“\n”)@Jaskamalkainth-你能给我看一下完整的代码吗?至少对于您正在处理的此部分。使用gist.github.com,不要将其粘贴到评论中。
row = soup.select("td[style=cipher1] > a.cipher7")