【发布时间】:2018-12-30 00:49:26
【问题描述】:
我正在尝试制作一个网络抓取工具,用于提取数据并将其分类到 pandas 数据框中。
我的所有代码:
import requests
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import numpy as np
import pandas as pd
class CaseCrawler:
def __init__(self, starting_url, depth):
self.starting_url = starting_url
self.depth = depth
self.cases = []
def crawl(self):
self.get_case_info(self.starting_url)
return
def get_case_info(self, link):
# opening up connection
uClient = uReq(link)
page_html = uClient.read()
uClient.close()
# html parsing
page_soup = soup(page_html, "html.parser")
case = page_soup.findAll("div", {"class":"bbWrapper"})
for point in case:
name = point.b.text
body = point.text
tag_block = page_soup.findAll("div", {"class":"blockStatus-message"})
for tagger in tag_block:
tag_title = tagger.findAll("dl", {"class":"pairs pairs--columns pairs--spaced pairs--fixedSmall"})
#pandas dataframe
##tag_df = pd.DataFrame(tag_title, index=tag_title.dt)
print(tag_title[0])
tag_df.to_csv("temp.csv")
crawler = CaseCrawler('https://www.yargikararlari.net/konu/iikya-gore-ortakligin-giderilmesi-davasi-acilabilmesi-icin-usulune-gore-borclu-ortagin-alacaklisi-iik-m-121.350/', 0)
crawler.crawl()
在代码的最后,我想用 pandas 抓取数据框中的一块信息
这是本网站的问题部分: 2rows 2columns
当我运行代码时,它会创建缩进且不必要的间隔 csv 文件:csv file
提前谢谢...
【问题讨论】:
-
你能把输出的csv的内容贴出来吗? “缩进和不必要的间隔”并不能告诉我们足够的信息。另外,您能否尝试使用“lxml”作为传递者,并让我们知道这是否会产生不同的结果。
-
我添加了 csv 文件。我对lxml不太了解。但我会试试的
-
我现在知道问题出在哪里了,但是我需要一点时间来重新编写您的代码来解决它,请多多包涵。
标签: python pandas web-scraping beautifulsoup