【问题标题】:how to scrape containt of class in beautifulsoup如何在beautifulsoup中抓取课程内容
【发布时间】:2022-08-18 21:47:01
【问题描述】:

我想从这个类中附加href:

<a class=\"_2UzuFa\" href=\"/awg-all-weather-gear-solid-men-polo-neck-black-grey-t-shirt/p/itm19ae710c69708?pid=TSHGFKPZNGYMP2FC&amp;lid=LSTTSHGFKPZNGYMP2FCZPKPX3&amp;marketplace=FLIPKART&amp;store=clo%2Fash%2Fank%2Fedy&amp;srno=b_1_38&amp;otracker=browse&amp;fm=organic&amp;iid=en_7%2Fz2ZgorbMeTmb%2F05oING%2BjZoEV8lwngUWQpEDanwo443TzRZ2XfvI9qIOekIcXbWiZZReg3l4w%2Fa03968TVxw%3D%3D&amp;ppt=None&amp;ppn=None&amp;ssid=3o5k6hnkq80000001660826655971\"J5 -o7Q4n\"></a>

我的代码 =

for item in class:
   containt = soup.find(\'href)
   print(containt)

它不工作

  • 欢迎来到 SO - 请使用 tour 并阅读 How to Ask 以改进,edit 并格式化您的问题。谢谢

标签: python web-scraping beautifulsoup


【解决方案1】:

不要使用像class 这样的保留关键字作为变量名,要从tag 中提取hrefs 值,请使用.get('href')

例子
from bs4 import BeautifulSoup

html='''<a class="_2UzuFa" href="/awg-all-weather-gear-solid-men-polo-neck-black-grey-t-shirt/p/itm19ae710c69708?pid=TSHGFKPZNGYMP2FC&amp;lid=LSTTSHGFKPZNGYMP2FCZPKPX3&amp;marketplace=FLIPKART&amp;store=clo%2Fash%2Fank%2Fedy&amp;srno=b_1_38&amp;otracker=browse&amp;fm=organic&amp;iid=en_7%2Fz2ZgorbMeTmb%2F05oING%2BjZoEV8lwngUWQpEDanwo443TzRZ2XfvI9qIOekIcXbWiZZReg3l4w%2Fa03968TVxw%3D%3D&amp;ppt=None&amp;ppn=None&amp;ssid=3o5k6hnkq80000001660826655971"J5 -o7Q4n"></a>'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)

for a in soup.select('a'):
    print(a.get('href'))

输出

/awg-all-weather-gear-solid-men-polo-neck-black-grey-t-shirt/p/itm19ae710c69708?pid=TSHGFKPZNGYMP2FC&lid=LSTTSHGFKPZNGYMP2FCZPKPX3&marketplace=FLIPKART&store=clo%2Fash%2Fank%2Fedy&srno=b_1_38&otracker=browse&fm=organic&iid=en_7%2Fz2ZgorbMeTmb%2F05oING%2BjZoEV8lwngUWQpEDanwo443TzRZ2XfvI9qIOekIcXbWiZZReg3l4w%2Fa03968TVxw%3D%3D&ppt=None&ppn=None&ssid=3o5k6hnkq80000001660826655971

基于 Flipkart 的示例

from bs4 import BeautifulSoup
import requests

url='https://www.flipkart.com/mens-tshirts/awg-all-weather-gear~brand/pr?sid=clo,ash,ank,edy&marketplace=FLIPKART&otracker=product_breadCrumbs_AWG+All+Weather+Gear+Men%27s+T-shirts'
soup =BeautifulSoup(requests.get(url).text)

for e in soup.select('a._2UzuFa'):
    print('https://www.flipkart.com'+e.get('href'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 2019-06-28
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    相关资源
    最近更新 更多