【问题标题】:Web scraping with BeautifulSoup appears to be accessing the wrong page使用 BeautifulSoup 进行网页抓取似乎访问了错误的页面
【发布时间】:2019-08-02 14:06:37
【问题描述】:

我一直在尝试将网络抓取作为一个小项目来掌握。我正在尝试访问网页上的产品并打印出它们已售出的次数。我的代码:

from bs4 import BeautifulSoup as bs
import requests as req

SEARCH_QUERY = 'swimsuit'

url = f'https://www.aliexpress.com/premium/swimsuit.html?ltype=premium&d=y&CatId=0&SearchText='\
     f'{SEARCH_QUERY}&trafficChannel=ppc&SortType=default&page=2'

original_website = req.get(url)
source = original_website.content
soup = bs(source, 'lxml')
links = soup.find_all()
for link in links:
    print(link.get('sale-value'))

所以,我查看了网站,我想要的信息在 HTML 的深处,在一个名为 sale-value 的标签下。当我运行代码时,打印出来的只是None 的序列。我相信抓取是在错误的网页下,可能是默认页面。任何帮助将不胜感激!

打印源代码给我:

https://pastebin.com/d0w7FLxA

【问题讨论】:

  • 尝试打印整个源代码,或将其保存到文件中。
  • 刚刚打印了源,我相信不是我要找的网页,但我真的不知道如何阅读或使用它。
  • 将其保存到粘贴箱并附加到问题上。同时将其转换为 HTML
  • 已编辑,使用网站转换为 HTML,所以我希望它有效。谢谢!
  • 不,您需要在解析之前打印源代码。您无法将解析后的输出转换回 HTML

标签: python-3.x web-scraping beautifulsoup python-requests


【解决方案1】:

我一直怀疑这与 AliExpress 每次您尝试搜索特定产品或直接在地址栏中输入查询而不是点击菜单链接时都会将您扔到登录页面有关。也许,Selenium 会是完成这项任务的更好选择

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多