编程仍然很新,更具体地说是Python。我一直在为Kickstarter页面开发一个webscraper。我已经从一个页面上的每个项目中获取了所有信息,但我一直在做的方式相对杂乱无章。我想让这个刮刀抓住第一个项目,抓取数据,追加,然后转到下一个,但它被设置为抓取页面中的所有目标数据,并希望它全部与最后是正确的项目。
(链接给所有好奇的人:https://www.kickstarter.com/discover/advanced?category_id=16&woe_id=0&sort=newest&seed=2479798&page=1)
现在,我一直在从每个数据中获取更多数据,而不仅仅是模糊和链接到每个数据,但下面是我一直在做的一些示例代码。 BeautifulSoup有点令人困惑,因为我认为它将事物转换成不同的数据类型,对于我未经训练的眼睛来说,这使得将.find_next()类型的东西串在一起变得更加困难。 Kickstarter特别是每排4个项目组织这些项目。
关于如何实现目标的任何想法:找到第一个项目 - >刮 - >追加数组 - >重复下一个项目?
pageGrab = BeautifulSoup(requests.get(url).content, "html.parser")
link_array = []
blurb_array = []
links = pageGrab.select('.project-title a')
blurb = pageGrab.select('.project-blurb')
for link in links:
rel_path = link.get('href')
path = urljoin(base_url, rel_path)
link_array.append(path)
for row in blurb:
blurb_array.append(row.string.strip())
从这里开始,我将这些数组传递给Pandas数据帧,该数据帧写入Excel文件。我为此感到非常自豪,因为这是一项乏味的工作,但这是我第一个有用的程序/脚本!