如何在python中抓取亚马逊交易页面

时间:2020-03-18 01:11:36

标签: python web-scraping command-line beautifulsoup scrapy

我想用python和漂亮的汤来刮擦亚马逊交易页面,但是运行代码时我没有得到任何结果,但是当尝试在亚马逊的任何其他页面上运行代码时我都得到了结果

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup

url = 'https://www.amazon.com/international-sales-offers/b/?ie=UTF8&node=15529609011&ref_=nav_navm_intl_deal_btn'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0',
           'referer': 'https://www.amazon.com/'
           }
s = requests.session()
s.headers.update(headers)
r = s.get(url)
soup = BeautifulSoup(r.content, "lxml")
for x in soup.find_all('span',{'class','a-declarative'}):
    print(x.text + "\n")

1 个答案:

答案 0 :(得分:1)

当您在浏览器中访问该页面时,该页面会发出其他请求以获取更多信息,然后使用该信息更新第一页。在您的情况下,URL https://www.amazon.com/international-sales-offers/b/?ie=UTF8&node=15529609011&ref_=nav_navm_intl_deal_btn只是一个模板,并且在加载时会发出其他请求以获取交易信息以填充模板。

亚马逊是一个受欢迎的网站,人们为此制作了许多网页抓取工具。选中this one out.。如果它没有执行任何操作,则只需要Google github amazon scraper,您将获得许多选择。

如果您仍然想自己编写刮板代码,请开始阅读selenium。这是一个模拟网络浏览器的python软件包,可让您在抓取之前加载网页及其所有其他请求。