Python 美丽的乌苏卡在了第页
我试图从页面上刮取一些内容,但Beautifulsoup在一些没有源代码的页面上卡住了,例如下面这个页面Python 美丽的乌苏卡在了第页,python,beautifulsoup,Python,Beautifulsoup,我试图从页面上刮取一些内容,但Beautifulsoup在一些没有源代码的页面上卡住了,例如下面这个页面 这很有效。发生的情况是,如果.mp4或.m4a这样的文件进入爬虫程序而不是HTML页面,那么脚本将挂起:(根据您的评论,我假设您有一个URL列表,您希望对其进行解析。在这种情况下,您可以在make_soup()时循环它们)返回None您可以使用continue关键字跳转到下一个迭代 def make_soup(url): try: html = requests.ge
这很有效。发生的情况是,如果.mp4或.m4a这样的文件进入爬虫程序而不是HTML页面,那么脚本将挂起:(根据您的评论,我假设您有一个URL列表,您希望对其进行解析。在这种情况下,您可以在
make_soup()时循环它们)
返回None
您可以使用continue
关键字跳转到下一个迭代
def make_soup(url):
try:
html = requests.get(url).content
except:
return None
return BeautifulSoup(html, "lxml")
urls = [
"https://cdn.podigee.com/uploads/u735/1d4d4b22-528e-4447-823e-b3ca5e25bccb.mp3?v=1578558565&source=webplayer",
]
for url in urls:
soup = make_soup(url)
if soup is None:
continue
print(soup.select_one("a.next").get('href'))
对于url花费太长的情况,可以指定一个。如果您在Windows上,可以查看您到底想要删除什么?页面上几乎没有HTML。是的,这是一个问题,我想应用某种检查,检查页面是否包含HTML,然后执行删除操作,否则返回并将下一个url作为参数,而不浪费任何时间。。。我试过了,但它对我也不起作用,问题是媒体URL的make_soup永远不会返回,就像我在上面添加的那样。返回它需要一些时间*
def make_soup(url):
try:
html = requests.get(url).content
except:
return None
return BeautifulSoup(html, "lxml")
urls = [
"https://cdn.podigee.com/uploads/u735/1d4d4b22-528e-4447-823e-b3ca5e25bccb.mp3?v=1578558565&source=webplayer",
]
for url in urls:
soup = make_soup(url)
if soup is None:
continue
print(soup.select_one("a.next").get('href'))
def is_downloadable(url):
"""
Does the url contain a downloadable resource
"""
h = requests.head(url, allow_redirects=True)
header = h.headers
content_type = header.get('content-type')
if 'text' in content_type.lower():
return False
if 'html' in content_type.lower():
return False
return True
url = "https://cdn.podigee.com/uploads/u735/1d4d4b22-528e-4447-823e-b3ca5e25bccb.mp3?v=1578558565&source=webplayer"
print(is_downloadable(url))