python 用bs4解析网页后,如何循环打开爬取出来的网址链接?
请问,用beautiful soup爬取特定网页后提取tag ‘a’,抓取里面的网址,打开特定的网址,循环特定次数,最后打印出想要的网址,如何操作?
作业的要求如下图:
我的代码如下:
import urllib.request, urllib.parse, urllib.errorfrom 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