Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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
使用beautifulsoup(未知url类型)通过python迭代web抓取的url列表_Python_Html_Loops_Beautifulsoup_Urllib - Fatal编程技术网

使用beautifulsoup(未知url类型)通过python迭代web抓取的url列表

使用beautifulsoup(未知url类型)通过python迭代web抓取的url列表,python,html,loops,beautifulsoup,urllib,Python,Html,Loops,Beautifulsoup,Urllib,我正试图从我的列表中提取每个url的内容,这没有问题,我的列表工作正常 原始链接如下: tags=soup('a',{'class':'js-listing-link'}) 对于标记中的标记: linktag=tag.get('href').strip() 如果链接标签不在链接列表中: linklist.append(linktag) 上面的结果是URL的字符串列表。但我试着这样做: for link in linklist[0]: page2=urllib.request.Reque

我正试图从我的列表中提取每个url的内容,这没有问题,我的列表工作正常

原始链接如下:

tags=soup('a',{'class':'js-listing-link'})
对于标记中的标记:
linktag=tag.get('href').strip()
如果链接标签不在链接列表中:
linklist.append(linktag)
上面的结果是URL的字符串列表。但我试着这样做:

for link in linklist[0]:
    page2=urllib.request.Request(link,headers={'User-Agent': 'Mozilla/5.0'})
    myhtml2 = urllib.request.urlopen(page2).read()
    soupfl = BeautifulSoup(myhtml2, 'html.parser')
只是为了证明一切正常,但我犯了一个错误:

raise ValueError("unknown url type: %r" % self.full_url)

ValueError:未知url类型:“h”

要获取所有链接,可以使用以下示例:

import urllib.request
from bs4 import BeautifulSoup


URL = "https://www.lamudi.com.mx/nuevo-leon/departamento/for-rent/"

HEADERS = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"
}

r = urllib.request.Request(URL, headers=HEADERS)
soup = BeautifulSoup(urllib.request.urlopen(r).read(), "html.parser")

tags = soup.find_all("a", {"class": "js-listing-link"})

links = []
[links.append(link["href"]) for link in tags if link["href"] not in links]

for link in links:
    print("Getting:", link)
    r2 = urllib.request.Request(link, headers=HEADERS)
    soup2 = BeautifulSoup(urllib.request.urlopen(r2).read(), "html.parser")

你能提供一些mor数据(链接列表)吗?它看起来像是在列表的第一个元素上迭代(
linklist[0]
),如果这是一个字符串,它会在字母上迭代,所以第一个“url”是字母“h”(我想是http)