您好我正在学习如何使用BeautifulSoup解析HTML。我想知道是否可以在for循环中使用用户输入,如:
for (user input) in A
由于A
是一个链接列表,因此用户可以选择使用输入来获取链接。
然后我使用urllib
打开该链接并重复此过程。
答案 0 :(得分:0)
您可以使用以下内容:
import urllib2
from bs4 import BeautifulSoup
choice = ''
for url in urls:
print('Go to {}?'.format(url))
decision = input('Y/n ')
if decision == 'Y':
choice = url
break
if choice:
r = urllib2.urlopen(choice).read()
soup = BeautifulSoup(r, 'lxml')
# do something else
答案 1 :(得分:0)
如果你真的想打开"对我来说并不是很清楚。浏览器中的链接,所以我包含了一些代码来做到这一点。这可能是你想要的"数字位置"?
TL;博士
616.13M
全:
print("Which URL would you like to open?"
" (Please select an option between 1-{})".format(len(A)))
for index, link in enumerate(A):
print index+1, link
答案 2 :(得分:0)
感谢您的帮助。我在这方面找到了解决方案。
创建了两个变量:count = input()
和postion = input()
我在for循环中使用的计数:for _ in range(c)
- 有了这个,我可以让一个过程重复用户想要的次数(在这个分配上是4)。
位置(对于此分配的预定义在3上),我用于列表索引,在包含所有URL的列表中。因此,为了打开位置3的网址,我有:
url = links[p-1]
(-1表示用户输入3,但列表索引以0(0,1,2 ...)开头
然后我可以使用urllib.request.urlopen.read()