我最近开始使用Python,而我正在尝试编写自己的WebCrawler / Scraper,以便更多地学习语言。我遇到的问题是(HTML的一部分):
<td class="name"><a href="/leagues/euw/1234">THENAME</a></td>
^
I want the name
当我运行我的应用程序时,我只得到输出:
例如:<td class="name"><a href="/leagues/euw/1234">THENAME</a></td>
作为&#34;初学者&#34;我不知道如何用Python获得THENAME。
这是我的Python代码:
import requests
from bs4 import BeautifulSoup
def summ_spider(max_pages):
page = 5000
while page <= max_pages:
url = "http://www.lolsummoners.com/ladders/euw/" + str(page)
r = requests.get(url)
soup = BeautifulSoup(r.content, "html.parser")
# print (soup)
links = soup.find_all("a")
for link in links:
print
"<a href='{0:s}'>{1:s}</a>".format(link.get("href"), link.text)
g_data = soup.find_all("table", {"class": "ladder"})
n_data = soup.find_all("td", {"class": "name"})
page+=1
f_data = n_data [108:122]
print(f_data)
# print (links)
# print (n_data)
summ_spider(3000000)
PS:我想要输出(以后会安装.txt) 只有:
NAME1
NAME2
NAME3
而不是其他HTML。 我会非常感谢一些帮助/批评
答案 0 :(得分:0)
当您运行自己的功能时,会收到<td class="name"><a href="/leagues/euw/1234">THENAME</a></td>
之类的回复,因为这是您实际打印的内容。如果你想获得&#34;名称&#34;您可以执行类似
for link in links:
print link.text
你得到的原因&#34;接下来&#34;返回是因为它是页面上的最后一个链接。