python 用bs4解析网页后,如何循环打开爬取出来的网址链接?

请问,用beautiful soup爬取特定网页后提取tag ‘a’,抓取里面的网址,打开特定的网址,循环特定次数,最后打印出想要的网址,如何操作?
作业的要求如下图:
图片描述
我的代码如下:

import urllib.request, urllib.parse, urllib.error

from bs4 import BeautifulSoup

import ssl

# Ignore SSL certificate errors

ctx = ssl.create_default_context()

ctx.check_hostname = False

ctx.verify_mode = ssl.CERT_NONE

url = input('Enter - ')

def crawl(url):

html = urllib.request.urlopen(url, context=ctx).read()

soup = BeautifulSoup(html, 'html.parser')

position=0

count=0

tags = soup('a')

for tag in tags:

x=tag.get('href',None)

position=position+1

if position==3:break

crawl(x)

count=count+1

if count==4:break

print(x)

目前遇到的瓶颈就是,我知道如何抓取第一次输入的网址,然后也能提取出tag里面要求的内容。

但是如何打开特定的网址,然后循环特定的次数,最后打印出最终想要的网址我就不会了。求各位大牛指教。

sample problem 链接:python-data.dr-chuck.net/known_by_Fikret.html" rel="nofollow">http://python-data.dr-chuck.n... 打开之后是一个表格,每个表格里面的人名都是超链接,点进去每个超链接还是一个表格,也是每个人名都是超链接。

运行以上代码,结果如图: 没有任何数据,也没有报错。研究了一下午了,实在不知道哪里出了问题,请求赐教。万分感谢!

以上是 python 用bs4解析网页后,如何循环打开爬取出来的网址链接? 的全部内容, 来源链接: utcz.com/a/163754.html

回到顶部