【发布时间】:2020-12-30 18:02:42
【问题描述】:
我是 python 网页抓取的新手。
我正在尝试制作一个从 GoDaddy 域名注册商那里抓取域名及其值的程序。但是,在尝试获取域名时,返回的值是 []。
url = 'https://uk.godaddy.com/domainsearch/find?checkAvail=1&domainToCheck=rocket'
response = requests.get(url)
if not response.ok:
print('The server responded:', response.status_code)
else:
soup = BeautifulSoup(response.text, 'lxml')
domain = soup.find_all('span',class_="domain-name-text h4 text-bold")
print(domain)
这是包含我需要的数据的 HTML 段:
<span data-cy="spin-results-wrap-domain-name" dir="ltr">
<span class="domain-name-text h4 text-bold">rockethub</span>
<span class="domain-name-text h4 text-bold domain-name-tld">.</span>
<span class="domain-name-text h4 text-bold domain-name-tld">co</span>
</span>
所有必要的包都安装好了:bs4、lxml和requests。
对此的任何帮助表示赞赏。
【问题讨论】:
-
这是 HTML 还是来自浏览器 DOM?
-
这个页面使用javascript来加载数据。也许,您正在寻找 api。如果您打开 dev-tools -> Network -> XHR,您将看到内容。
https://uk.godaddy.com/domainfind/v1/search/spins?&q=rocket&pagestart=0&pagesize=40&tld_gallery_size=5&key=dpp_search&tlds=&source=&maxsld=&pc=&ptl=&itc=dpp_absol1&req_id=1599913966766。这就是你要找的。span>
标签: python html web-scraping beautifulsoup lxml