对标八爪鱼!知乎爬虫集成代码实现!(2020年7月29日)

Author Warning:
The data obtained by crawlers should only be used for academic research.
At the same time, you should pay attention to the crawl frequency, not to cause excessive pressure on other people’s servers.

看知乎这里的各种问题还挺有趣的,心血来潮想研究一下。

在这里插入图片描述

听朋友说八爪鱼这款软件挺好用的,想着瞅一下看看。在这里插入图片描述

然而然而!!!
在这里插入图片描述

看到这里我们郁闷了,旗舰版???
在这里插入图片描述

接着我就去官网瞅了瞅价格,一年1999???

在这里插入图片描述

@八爪鱼采集器
@刘宝强(八爪鱼CEO)

二位大爷,我想想哔哩哔哩会员一年+爱奇艺会员一年+知乎live一年不过585人民币,不到这个的1/3。。。

没有体验版的,对一般群众实在很难说很友好/哭

看了看自己日渐消瘦的钱包,还是自己爬吧!

接下来我将实现八爪鱼上关于知乎爬虫模版的所有功能。

在这里插入图片描述

在这里插入图片描述
导包

import os
import pandas as pd
from selenium import webdriver
from lxml import etree
import time
import jieba
import re
import numpy as np
url1 = input("请输入您所需要爬取的网页(知乎)")

例如我在这里爬取问题(https://www.zhihu.com/question/22164041/answer/148128347)
《排名在前 1% 的高中生是靠天赋还是靠努力?》

browser = webdriver.Chrome("/Users/apple/Downloads/chromedrivermac")  #这里写上你的ChromeDriver的路径
browser.get(url1)

接着就开始模拟爬虫啦~!

让浏览器模拟人去点击“显示全部”,进而得到问题全部的描述
在这里插入图片描述

同时考虑到有些问题本身就比较简短,没有“显示全部”这个按钮,所以使用try-except语句进行规避。

在这里插入图片描述

try:
    #点击问题全部内容
    button1 = browser.find_elements_by_xpath("""//div[@class= "QuestionHeader-detail"]
    //button[contains(@class,"Button") and contains(@class,"QuestionRichText-more") 
    and contains(@class , "Button--plain")
    ]""")[0]
    button1.click()
except:
    print('这个问题比较简单,并没有问题的全部内容哦!')

对于广大的知乎er,都知道知乎是下拉之后才能得到更多的回答的。所以,我接下来就开始模拟人下拉的动作。

#此网页就属于异步加载的情况<
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值