繁体   English   中英

使用 BeautifulSoup 抓取数据

[英]Scraping data using BeautifulSoup

我正在尝试从该站点将数据刮到字典中,

from bs4 import BeautifulSoup 
import requests 
from pprint import pprint

page = requests.get('https://webscraper.io/') 
soup = BeautifulSoup(page.text, "lxml")

info = []
for x in range(1,7):
    items = soup.findAll("div",{"class":f"info{x}"})
    info.append(items)

但是,HTML 标记不会被删除。

像这样的东西可能有用吗? (用您的实际请求 URL 替换 webscraper.io url;此外,您仍然需要清除输出中的 \\n 字符):

from bs4 import BeautifulSoup 
import requests 
from pprint import pprint

page = requests.get('https://webscraper.io/') 
soup = BeautifulSoup(page.text, "lxml")

info = []
for x in range(1,7):
    items = soup.findAll("div",{"class":f"info{x}"})
    info += [item.text for item in items]

即 item.text,并将结果数组与 info 连接起来

您需要使用.text 然后要按照你想要的方式进行,需要做一些字符串操作。

from bs4 import BeautifulSoup 
import requests 
from pprint import pprint

url = 'https://webscraper.io/'
page = requests.get(url) 
soup = BeautifulSoup(page.text, "lxml")


info = []
for x in range(1,7):
    item = soup.find("div",{"class":"info%s" %x}).text.strip().replace('\n',': ')
    info.append(item)

info = '\n'.join(info)
print (info)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM