首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在aTag href之后访问标签以获取网站上列出的产品的名称?

如何在aTag href之后访问标签以获取网站上列出的产品的名称?
EN

Stack Overflow用户
提问于 2020-05-01 04:21:33
回答 1查看 61关注 0票数 1

每当我运行代码并尝试打印项目标题(即aTag标签)时,它就会打印出"none“。我想访问href之后和关闭aTag之前的段落。

代码语言:javascript
复制
    import bs4
    #uReq is our arbitrary shorthand for urllib.request
    import urllib
    from urllib.request import urlopen as uReq
    from bs4 import BeautifulSoup as soup

    #The URL we plan to use
    my_url = 'https://www.newegg.com/'

    #uReq(my_url) opens up web client
    Client = uReq(my_url)
    #uClient.read dumps everything out of the url
    html_page = Client.read()
    Client.close()


    page_soup = soup(html_page, "html.parser")
    itemContainers= page_soup.findAll("div{"class":"item-container"})
    page = page_soup.find("h2","swiper-box-top-title")
    itemTitle = itemContainers[0].find("class", "item-title")
    print(itemTitle)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-01 04:36:51

您可以使用:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

my_url = 'https://www.newegg.com/'
soup = BeautifulSoup(requests.get(my_url).text, "html5lib")
links = soup.find_all("a", {"class": "item-title"})
for link in links:
    print(link.text)
    print(link["href"])

代码语言:javascript
复制
Acer KG271 bmiix 27" Full HD 1920 x 1080 75Hz 1ms HDMI VGA AMD FreeSync ZeroFrame Flikcer-Less BlueShield Built-in Speakers ...
https://www.newegg.com/black-acer-kg1-series-kg271-bmiix-27/p/N82E16824011127?Item=N82E16824011127&cm_sp=Homepage_SS-_-P1_24-011-127-_-04302020
HP S700 2.5" 1TB SATA III 3D TLC Internal Solid State Drive (SSD) 6MC15AA#ABC
https://www.newegg.com/hp-s700-1tb/p/0D9-000H-007T9?Item=0D9-000H-007T9&cm_sp=Homepage_SS-_-P2_0D9-000H-007T9-_-04302020

PS: NewEgg使用google ReCaptcha,在几个请求之后,您肯定会被阻塞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61536769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档