我正在尝试制作一个网络抓取器,以提取数据并将其归类到熊猫数据框中。
我所有的代码:
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()
在代码的最后,我想用大熊猫在数据框中抓取一块信息
这是我这个网站的问题所在: 2rows 2columns
当我运行代码时,它会创建缩进和不必要的csv文件:csv file
预先感谢...
答案 0 :(得分:0)
问题在于数据帧的构造。 $(document).on('click', '.btn-vote', function(e){
//event handling goes here
});
是一个结果集,没有属性tag_title
。另外,您要抓取的页面中的代码还有很多多余的空白。正如我上面建议的,使用“ lxml”作为传递者并更改行:
dt
到
tag_df = pd.DataFrame(tag_title, index=tag_title.dt)
,我认为您将更接近您想要的。