python 中的网络抓取后无法将数据转换为正确的格式

Unable to get data into correct format after web scraping in python

我写了一个抓取网站的代码:https://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=-1&IsNodeId=1&Description=GTX&bop=And&Page= {}&PageSize=36&order=BESTMATCH".format(page)

但是当我 运行 此代码时,数据未格式化,例如产品名称出现在每个单元格中等等价格和图像。

from urllib.request import urlopen
from bs4 import BeautifulSoup
f = open("Scrapedetails.csv", "w")
Headers = "Item_Name, Price, Image\n"
f.write(Headers)

for page in range(1,15):
    page_url = "https://www.newegg.com/Product/ProductList.aspx?
Submit=ENE&N=-1&IsNodeId=1&Description=GTX&bop=And&Page=
{}&PageSize=36&order=BESTMATCH".format(page)
    html = urlopen(page_url)
    bs0bj = BeautifulSoup(html, "html.parser")
    page_details = bs0bj.find_all("div", {"class":"item-container"})
    for i in page_details:
         Item_Name = i.find("a", {"class":"item-title"})
         Price = i.find("li", {"class":"price-current"})
         Image = i.find("img")
         Name_item = Item_Name.get_text()
         Prin = Price.get_text()
         imgf = Image["src"]# to get the key src 
         f.write("{}".format(Name_item).strip()+ ",{}".format(Prin).strip()+ 
  ",{}".format(imgf)+ "\n")
f.close()

谁能帮我修改代码,这样我就可以在名称栏中获得名称,在价格栏中获得价格,在图像栏中获得图像。 在 csv 中保存数据的新方法是什么,有人可以用代码帮助我吗?

好的,我解决了。

from urllib.request import urlopen
from bs4 import BeautifulSoup

f = open("Scrapedetails.csv", "w")
Headers = "Item_Name, Price, Image\n"
f.write(Headers)

for page in range(1,15):
    page_url = "https://www.newegg.com/Product/ProductList.aspx?
Submit=ENE&N=-1&IsNodeId=1&Description=GTX&bop=And&Page=
{}&PageSize=36&order=BESTMATCH".format(page)
    html = urlopen(page_url)
    bs0bj = BeautifulSoup(html, "html.parser")
    page_details = bs0bj.find_all("div", {"class":"item-container"})
    for i in page_details:
        Item_Name = i.find("a", {"class":"item-title"})
        Price = i.find("li", {"class":"price-current"}).find('strong')
        Image = i.find("img")
        Name_item = Item_Name.get_text().strip()
        prin = Price.get_text()
        imgf = Image["src"]# to get the key src 


        print(Name_item)
        print(prin)
        print('https:{}'.format(imgf))
        f.write("{}".format(Name_item).replace(",", "|")+ ",{}".format(prin)+ ",https:{}".format(imgf)+ "\n")
f.close()

这些代码适用于希望以最简单的方式开始网络抓取的任何人