Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 美丽的乌苏卡在了第页_Python_Beautifulsoup - Fatal编程技术网

Python 美丽的乌苏卡在了第页

Python 美丽的乌苏卡在了第页,python,beautifulsoup,Python,Beautifulsoup,我试图从页面上刮取一些内容,但Beautifulsoup在一些没有源代码的页面上卡住了,例如下面这个页面 这很有效。发生的情况是,如果.mp4或.m4a这样的文件进入爬虫程序而不是HTML页面,那么脚本将挂起:(根据您的评论,我假设您有一个URL列表,您希望对其进行解析。在这种情况下,您可以在make_soup()时循环它们)返回None您可以使用continue关键字跳转到下一个迭代 def make_soup(url): try: html = requests.ge

我试图从页面上刮取一些内容,但Beautifulsoup在一些没有源代码的页面上卡住了,例如下面这个页面


这很有效。发生的情况是,如果.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))