我是python和学习网页抓取的新手。我试图从这样的网站上删除标题和链接(而不是标题链接):
Title 1
Link 1
Title 2
Link 2
Title 3
Link 3
但问题是我无法以这种方式做,我试图在for循环(标题)内嵌套for循环(链接)但是它打印标题如上,但也打印所有标题的链接一个,像这样。
Title 1
Link 1
Link 2
Link 3
Title 2
Link 1
Link 2
Link 3
Title 3
Link 1
Link 2
Link 3
我有一切都可以解决这个问题,但没有运气!任何人都可以请帮助。
我可以添加套装来解决这个问题吗?因为集合避免重复,我认为它可能有所帮助。
我的代码如下:
import requests
from bs4 import BeautifulSoup
def scrape(url):
source_code = requests.get(url)
text = source_code.text
soup = BeautifulSoup(text)
for title in soup.findAll("html_element", {"attribute": "value "}): #loop for title
tit = title.string
print("\n",tit)
for link in soup.findAll("html_element", {"attribute": "value "}): #loop for links
href = link.get("href")
print(href)
#break
scrape("http://www.website.com/")
答案 0 :(得分:0)
我建议你制作两个包含这些名字的python列表。 在一个列表中,您可以添加每个“标题”,另一个列表可以添加“链接”。这些列表将是嵌套for循环的一部分。最后,您必须使用%s运算符来更改与html代码段对应的属性。