我疯掉了
我现在正在学python for everybody
在写这个代码
import urllib.request,urllib.parse,urllib.error
from bs4 import BeautifulSoup
import ssl
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
url = input("Enter URL:")
count = int(input("Enter count:"))
position = int(input("Enter position:"))
for i in range(1, count + 1):
html = urllib.request.urlopen(url, context=ctx).read()
print(html)
soup = BeautifulSoup(html, "html.parser")
print(soup)
tags = soup('a')
url = tags[position - 1].get('href')
print(url)
报错如下,我已经重新装了beautifulsoup 甚至重新装了python都不行
每次构建soup对象的时候就疯狂报错
有没有人帮忙看看
D:\python\python.exe D:/totalCode/develop.py
Enter URL:http://py4e-data.dr-chuck.net/known_by_Kaylen.html
Enter count:7
Enter position:18
b'<html>\n<head>\n<title>People that Kaylen knows</title>\n<style>\n.overlay{\n opacity:0.99;\n background-color:#eee;\n position:fixed;\n width:100%;\n height:100%;\n top:0px;\n left:0px;\n z-index:1000;\n}\n</style>\n</head>\n<body>\n<h1>People that Kaylen knows</h1>\n<div class="overlay" id="overlay" style="display:none" >\n<center>\n<h2>\nThis screen randomly changes the height between list items and vanishes \nafter a while to make sure that you retrieve and process the data\nin a Python program rather than simply counting down pressing links, and \ndoing the assignment without writing a Python program :).\nThe names are in the same order in the HTML even though they \nshift around on the screen visually.\nYour Python program can look at the page as long as it likes.\n</h2>\n</center>\n</div>\n<ul>\n<li style="margin-top: 4px;"><a href="http://py4e-data.dr-chuck.net/known_by_Tubagus.html">Tubagus</a></li>\n<li style="margin-top: 15px;"><a href="http://py4e-data.dr-chuck.net/known_by_Hailey.html">Hailey</a></li>\n<li style="margin-top: 2px;"><a href="http://py4e-data.dr-chuck.net/known_by_Remy.html">Remy</a></li>\n<li style="margin-top: 19px;"><a href="http://py4e-data.dr-chuck.net/known_by_Blythe.html">Blythe</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Abbegail.html">Abbegail</a></li>\n<li style="margin-top: 9px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kyron.html">Kyron</a></li>\n<li style="margin-top: 14px;"><a href="http://py4e-data.dr-chuck.net/known_by_Michael.html">Michael</a></li>\n<li style="margin-top: 20px;"><a href="http://py4e-data.dr-chuck.net/known_by_Beatriz.html">Beatriz</a></li>\n<li style="margin-top: 7px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kizzy.html">Kizzy</a></li>\n<li style="margin-top: 8px;"><a href="http://py4e-data.dr-chuck.net/known_by_Irvine.html">Irvine</a></li>\n<li style="margin-top: 27px;"><a href="http://py4e-data.dr-chuck.net/known_by_Tanya.html">Tanya</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rhiannnon.html">Rhiannnon</a></li>\n<li style="margin-top: 3px;"><a href="http://py4e-data.dr-chuck.net/known_by_Neelam.html">Neelam</a></li>\n<li style="margin-top: 37px;"><a href="http://py4e-data.dr-chuck.net/known_by_Ciara.html">Ciara</a></li>\n<li style="margin-top: 1px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rawia.html">Rawia</a></li>\n<li style="margin-top: 27px;"><a href="http://py4e-data.dr-chuck.net/known_by_Omri.html">Omri</a></li>\n<li style="margin-top: 15px;"><a href="http://py4e-data.dr-chuck.net/known_by_Himani.html">Himani</a></li>\n<li style="margin-top: 38px;"><a href="http://py4e-data.dr-chuck.net/known_by_Tokinaga.html">Tokinaga</a></li>\n<li style="margin-top: 43px;"><a href="http://py4e-data.dr-chuck.net/known_by_Likiesha.html">Likiesha</a></li>\n<li style="margin-top: 15px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kahlea.html">Kahlea</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Warkhas.html">Warkhas</a></li>\n<li style="margin-top: 12px;"><a href="http://py4e-data.dr-chuck.net/known_by_Alissa.html">Alissa</a></li>\n<li style="margin-top: 7px;"><a href="http://py4e-data.dr-chuck.net/known_by_Teigon.html">Teigon</a></li>\n<li style="margin-top: 29px;"><a href="http://py4e-data.dr-chuck.net/known_by_Griffyn.html">Griffyn</a></li>\n<li style="margin-top: 38px;"><a href="http://py4e-data.dr-chuck.net/known_by_Amilie.html">Amilie</a></li>\n<li style="margin-top: 46px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rudi.html">Rudi</a></li>\n<li style="margin-top: 34px;"><a href="http://py4e-data.dr-chuck.net/known_by_Brett.html">Brett</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Raphaela.html">Raphaela</a></li>\n<li style="margin-top: 6px;"><a href="http://py4e-data.dr-chuck.net/known_by_Irvin.html">Irvin</a></li>\n<li style="margin-top: 11px;"><a href="http://py4e-data.dr-chuck.net/known_by_Madox.html">Madox</a></li>\n<li style="margin-top: 54px;"><a href="http://py4e-data.dr-chuck.net/known_by_Ayooluwa.html">Ayooluwa</a></li>\n<li style="margin-top: 40px;"><a href="http://py4e-data.dr-chuck.net/known_by_Mohanad.html">Mohanad</a></li>\n<li style="margin-top: 21px;"><a href="http://py4e-data.dr-chuck.net/known_by_Prince.html">Prince</a></li>\n<li style="margin-top: 4px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kamaljit.html">Kamaljit</a></li>\n<li style="margin-top: 37px;"><a href="http://py4e-data.dr-chuck.net/known_by_Roisin.html">Roisin</a></li>\n<li style="margin-top: 54px;"><a href="http://py4e-data.dr-chuck.net/known_by_Jared.html">Jared</a></li>\n<li style="margin-top: 41px;"><a href="http://py4e-data.dr-chuck.net/known_by_Seze.html">Seze</a></li>\n<li style="margin-top: 14px;"><a href="http://py4e-data.dr-chuck.net/known_by_Darrach.html">Darrach</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Lara.html">Lara</a></li>\n<li style="margin-top: 36px;"><a href="http://py4e-data.dr-chuck.net/known_by_Eden.html">Eden</a></li>\n<li style="margin-top: 32px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kamilah.html">Kamilah</a></li>\n<li style="margin-top: 40px;"><a href="http://py4e-data.dr-chuck.net/known_by_Sayf.html">Sayf</a></li>\n<li style="margin-top: 1px;"><a href="http://py4e-data.dr-chuck.net/known_by_Jagoda.html">Jagoda</a></li>\n<li style="margin-top: 37px;"><a href="http://py4e-data.dr-chuck.net/known_by_Pushkar.html">Pushkar</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Majka.html">Majka</a></li>\n<li style="margin-top: 29px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kayda.html">Kayda</a></li>\n<li style="margin-top: 17px;"><a href="http://py4e-data.dr-chuck.net/known_by_Stephenjunior.html">Stephenjunior</a></li>\n<li style="margin-top: 53px;"><a href="http://py4e-data.dr-chuck.net/known_by_Mathilda.html">Mathilda</a></li>\n<li style="margin-top: 46px;"><a href="http://py4e-data.dr-chuck.net/known_by_Ilona.html">Ilona</a></li>\n<li style="margin-top: 40px;"><a href="http://py4e-data.dr-chuck.net/known_by_Mara.html">Mara</a></li>\n<li style="margin-top: 5px;"><a href="http://py4e-data.dr-chuck.net/known_by_Gillian.html">Gillian</a></li>\n<li style="margin-top: 34px;"><a href="http://py4e-data.dr-chuck.net/known_by_Zubayr.html">Zubayr</a></li>\n<li style="margin-top: 29px;"><a href="http://py4e-data.dr-chuck.net/known_by_Vasiliki.html">Vasiliki</a></li>\n<li style="margin-top: 22px;"><a href="http://py4e-data.dr-chuck.net/known_by_Hawaa.html">Hawaa</a></li>\n<li style="margin-top: 12px;"><a href="http://py4e-data.dr-chuck.net/known_by_Juan.html">Juan</a></li>\n<li style="margin-top: 4px;"><a href="http://py4e-data.dr-chuck.net/known_by_Macy.html">Macy</a></li>\n<li style="margin-top: 58px;"><a href="http://py4e-data.dr-chuck.net/known_by_Aakriti.html">Aakriti</a></li>\n<li style="margin-top: 16px;"><a href="http://py4e-data.dr-chuck.net/known_by_Azedine.html">Azedine</a></li>\n<li style="margin-top: 13px;"><a href="http://py4e-data.dr-chuck.net/known_by_Aleksander.html">Aleksander</a></li>\n<li style="margin-top: 6px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kaelan.html">Kaelan</a></li>\n<li style="margin-top: 83px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kandi.html">Kandi</a></li>\n<li style="margin-top: 82px;"><a href="http://py4e-data.dr-chuck.net/known_by_Marwah.html">Marwah</a></li>\n<li style="margin-top: 78px;"><a href="http://py4e-data.dr-chuck.net/known_by_Monika.html">Monika</a></li>\n<li style="margin-top: 21px;"><a href="http://py4e-data.dr-chuck.net/known_by_Aisa.html">Aisa</a></li>\n<li style="margin-top: 20px;"><a href="http://py4e-data.dr-chuck.net/known_by_Keilan.html">Keilan</a></li>\n<li style="margin-top: 63px;"><a href="http://py4e-data.dr-chuck.net/known_by_Freddie.html">Freddie</a></li>\n<li style="margin-top: 21px;"><a href="http://py4e-data.dr-chuck.net/known_by_Ben.html">Ben</a></li>\n<li style="margin-top: 7px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kiern.html">Kiern</a></li>\n<li style="margin-top: 44px;"><a href="http://py4e-data.dr-chuck.net/known_by_Anastazja.html">Anastazja</a></li>\n<li style="margin-top: 87px;"><a href="http://py4e-data.dr-chuck.net/known_by_Inemesit.html">Inemesit</a></li>\n<li style="margin-top: 10px;"><a href="http://py4e-data.dr-chuck.net/known_by_Fathma.html">Fathma</a></li>\n<li style="margin-top: 40px;"><a href="http://py4e-data.dr-chuck.net/known_by_Courtneylee.html">Courtneylee</a></li>\n<li style="margin-top: 78px;"><a href="http://py4e-data.dr-chuck.net/known_by_Cator.html">Cator</a></li>\n<li style="margin-top: 68px;"><a href="http://py4e-data.dr-chuck.net/known_by_Kareena.html">Kareena</a></li>\n<li style="margin-top: 21px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rosea.html">Rosea</a></li>\n<li style="margin-top: 26px;"><a href="http://py4e-data.dr-chuck.net/known_by_Abdallah.html">Abdallah</a></li>\n<li style="margin-top: 99px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rhona.html">Rhona</a></li>\n<li style="margin-top: 11px;"><a href="http://py4e-data.dr-chuck.net/known_by_Glen.html">Glen</a></li>\n<li style="margin-top: 52px;"><a href="http://py4e-data.dr-chuck.net/known_by_Marina.html">Marina</a></li>\n<li style="margin-top: 50px;"><a href="http://py4e-data.dr-chuck.net/known_by_Euphemia.html">Euphemia</a></li>\n<li style="margin-top: 57px;"><a href="http://py4e-data.dr-chuck.net/known_by_Dawson.html">Dawson</a></li>\n<li style="margin-top: 64px;"><a href="http://py4e-data.dr-chuck.net/known_by_Sidharth.html">Sidharth</a></li>\n<li style="margin-top: 12px;"><a href="http://py4e-data.dr-chuck.net/known_by_Violet.html">Violet</a></li>\n<li style="margin-top: 26px;"><a href="http://py4e-data.dr-chuck.net/known_by_Lillia.html">Lillia</a></li>\n<li style="margin-top: 5px;"><a href="http://py4e-data.dr-chuck.net/known_by_Reily.html">Reily</a></li>\n<li style="margin-top: 46px;"><a href="http://py4e-data.dr-chuck.net/known_by_Amelka.html">Amelka</a></li>\n<li style="margin-top: 77px;"><a href="http://py4e-data.dr-chuck.net/known_by_Roan.html">Roan</a></li>\n<li style="margin-top: 2px;"><a href="http://py4e-data.dr-chuck.net/known_by_Conal.html">Conal</a></li>\n<li style="margin-top: 97px;"><a href="http://py4e-data.dr-chuck.net/known_by_Demmi.html">Demmi</a></li>\n<li style="margin-top: 92px;"><a href="http://py4e-data.dr-chuck.net/known_by_Naia.html">Naia</a></li>\n<li style="margin-top: 53px;"><a href="http://py4e-data.dr-chuck.net/known_by_Nicolina.html">Nicolina</a></li>\n<li style="margin-top: 23px;"><a href="http://py4e-data.dr-chuck.net/known_by_Emilyann.html">Emilyann</a></li>\n<li style="margin-top: 117px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rudy.html">Rudy</a></li>\n<li style="margin-top: 13px;"><a href="http://py4e-data.dr-chuck.net/known_by_Iman.html">Iman</a></li>\n<li style="margin-top: 10px;"><a href="http://py4e-data.dr-chuck.net/known_by_Rahman.html">Rahman</a></li>\n<li style="margin-top: 3px;"><a href="http://py4e-data.dr-chuck.net/known_by_Koby.html">Koby</a></li>\n<li style="margin-top: 2px;"><a href="http://py4e-data.dr-chuck.net/known_by_Daysi.html">Daysi</a></li>\n<li style="margin-top: 64px;"><a href="http://py4e-data.dr-chuck.net/known_by_Aseel.html">Aseel</a></li>\n<li style="margin-top: 43px;"><a href="http://py4e-data.dr-chuck.net/known_by_Roary.html">Roary</a></li>\n<li style="margin-top: 79px;"><a href="http://py4e-data.dr-chuck.net/known_by_Dharam.html">Dharam</a></li>\n</ul>\n<script>\n// http://stackoverflow.com/questions/20423322/simple-setting-off-display-none-block-with-javascript\nfunction showHide(id) {\n var el = document.getElementById(id);\n if( el && el.style.display == \'none\') \n el.style.display = \'block\';\n else \n el.style.display = \'none\';\n}\nsetTimeout(\'showHide("overlay");\', 2500);\n\n</script>\n</body>\n</html>\n'
Traceback (most recent call last):
File "D:\totalCode\develop.py", line 457, in <module>
soup = BeautifulSoup(html, "html.parser")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\totalCode\bs4\__init__.py", line 215, in __init__
self._feed()
File "D:\totalCode\bs4\__init__.py", line 239, in _feed
self.builder.feed(self.markup)
File "D:\totalCode\bs4\builder\_htmlparser.py", line 164, in feed
parser.feed(markup)
File "D:\python\Lib\html\parser.py", line 111, in feed
self.goahead(0)
File "D:\python\Lib\html\parser.py", line 171, in goahead
k = self.parse_starttag(i)
^^^^^^^^^^^^^^^^^^^^^^
File "D:\python\Lib\html\parser.py", line 338, in parse_starttag
self.handle_starttag(tag, attrs)
File "D:\totalCode\bs4\builder\_htmlparser.py", line 62, in handle_starttag
self.soup.handle_starttag(name, None, None, attr_dict)
File "D:\totalCode\bs4\__init__.py", line 404, in handle_starttag
self.currentTag, self._most_recent_element)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\totalCode\bs4\element.py", line 1001, in __getattr__
return self.find(tag)
^^^^^^^^^^^^^^
File "D:\totalCode\bs4\element.py", line 1238, in find
l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\totalCode\bs4\element.py", line 1259, in find_all
return self._find_all(name, attrs, text, limit, generator, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\totalCode\bs4\element.py", line 516, in _find_all
strainer = SoupStrainer(name, attrs, text, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\totalCode\bs4\element.py", line 1560, in __init__
self.text = self._normalize_search_value(text)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\totalCode\bs4\element.py", line 1565, in _normalize_search_value
if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match')
^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'collections' has no attribute 'Callable'
Process finished with exit code 1