我怎样才能得到这个网站上的所有 href?
How can I get all the href on this web site?
通常我可以找到所有的 href,但我的 scirpt 没有抓取任何东西,我想不通这是为什么?
这是我的脚本:
import warnings
warnings.filterwarnings("ignore")
import re
import json
import requests
from requests import get
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
soup = BeautifulSoup(requests.get(url).content, "html.parser")
#get the links
all_title = soup.find_all('a', class_ = 'prod-item__container')
data_titles = []
for title in all_title:
try:
product_link = title['href']
data_titles.append(product_link)
except:
pass
print(data_titles)
data = pd.DataFrame({
'links' : data_titles
})
data.to_csv("testlink.csv", sep=';', index=False)
这是 html :
似乎 soup.find_all('a', class_ = 'prod-item__container')
应该可以,但实际上没有。
知道为什么吗?
在您的请求中使用一些 headers
来获取内容 - 一些网站根据 user-agent
提供不同的响应以避免抓取或抓取 - read more:
headers = {'User-Agent': 'Mozilla/5.0'}
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
soup = BeautifulSoup(requests.get(url, headers=headers).content, "html.parser")
例子
headers = {'User-Agent': 'Mozilla/5.0'}
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
soup = BeautifulSoup(requests.get(url, headers=headers).content, "html.parser")
#get the links
all_title = soup.find_all('a', class_ = 'prod-item__container')
data_titles = []
for title in all_title:
try:
product_link = title['href']
data_titles.append(product_link)
except:
pass
print(data_titles)
要获取数据,我们需要传递此网站的 user-agent 详细信息。使用下面的代码。
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
header = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36',
}
soup = BeautifulSoup(requests.get(url, headers =header).content, "html.parser")
通常我可以找到所有的 href,但我的 scirpt 没有抓取任何东西,我想不通这是为什么?
这是我的脚本:
import warnings
warnings.filterwarnings("ignore")
import re
import json
import requests
from requests import get
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
soup = BeautifulSoup(requests.get(url).content, "html.parser")
#get the links
all_title = soup.find_all('a', class_ = 'prod-item__container')
data_titles = []
for title in all_title:
try:
product_link = title['href']
data_titles.append(product_link)
except:
pass
print(data_titles)
data = pd.DataFrame({
'links' : data_titles
})
data.to_csv("testlink.csv", sep=';', index=False)
这是 html :
似乎 soup.find_all('a', class_ = 'prod-item__container')
应该可以,但实际上没有。
知道为什么吗?
在您的请求中使用一些 headers
来获取内容 - 一些网站根据 user-agent
提供不同的响应以避免抓取或抓取 - read more:
headers = {'User-Agent': 'Mozilla/5.0'}
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
soup = BeautifulSoup(requests.get(url, headers=headers).content, "html.parser")
例子
headers = {'User-Agent': 'Mozilla/5.0'}
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines"
soup = BeautifulSoup(requests.get(url, headers=headers).content, "html.parser")
#get the links
all_title = soup.find_all('a', class_ = 'prod-item__container')
data_titles = []
for title in all_title:
try:
product_link = title['href']
data_titles.append(product_link)
except:
pass
print(data_titles)
要获取数据,我们需要传递此网站的 user-agent 详细信息。使用下面的代码。
url = "https://www.frayssinet-joaillier.fr/fr/marques/longines" header = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36',
} soup = BeautifulSoup(requests.get(url, headers =header).content, "html.parser")