知乎爬虫经验教程

本文分享了一次编写知乎爬虫的经验,从导入Python包、读取用户URL、新建CSV文件存储数据,到遍历用户主页、解析网页信息,详述了爬取和解析过程,以及如何将信息写入CSV文件。通过for循环和定位网页元素实现用户信息的抓取,为后续的数据处理和分析打下基础。
摘要由CSDN通过智能技术生成

为了完成课程论文研究,暑假写了关于知乎的爬虫,把用户主页/回答中能爬到的数据全都爬下来了。接下来,把我踩过的坑跟大家分享,希望大家少走一些弯路!

1.导入一些必要的python包,其中会包括我们接下来要使用的函数;

import re
import urllib3
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait
import time
import sys
import pymysql 
#与数据库连接相关的模块
import random
#便于随机选择头部
import string
#修改数据类型时,对字符串的处理
import sqlite3
#写入csv操作
import csv

2.读取每个用户的url,便于之后直接登陆用户的个人主页,对其页面进行解析

db1 = pymysql.connect("。。。","。。。","。。。","。。。" )
cursor = db1.cursor()
sql_0="SELECT id from user"
cursor.execute(sql_0)
result_id = cursor.fetchall() #获取已经爬取的user_id存放在result_id中
result=list(result_id)
db1.clo
### 知乎回答多线程爬虫 **模式** 1. 单问题取模式 2. 相似问题取模式 **输出** ​ **文件名** 问题题目 ​ **文件内容** 1. 问题 2. 问题id 3. 回答者昵称 4. 回答者空间id 5. 回答者id 6. 回答者内容 **单问题取模式** **功能** 主要通过用户提供的问题id,取单个问题下的所有回答 **相似问题取模式** **功能** 通过用户提供的起始问题id,以及相关内容取数量,利用知乎的**相关问题**进行自动检索,并不断递归至用户提供的取数量(默认数量为20)。 **bug** 由于知乎具有一定的反,所以在相似问题检索时最大的检索量为400,如果到达500就会触发反机制,需要用户填写一个验证码才可以继续取。(也许未来有时间的话会把获取验证码的部分代码补全,但具体机器打码的实现还是太难了,所以还得自己手动输入验证码) **优点** 简单,明了,使用requests库进行取,利用递归实现迭代检索,代码量不大。 **缺点** 功能较少,对线程的把握不够好,可能会出现数据少量缺失的情况。 **技术栈:** 1. requests 2. re 3. json 4. time 5. threading **未来** 关于知乎取,我这里还有一个存货——知乎文章中的表情包(gif,png,jpg),这样就可以愉快的收集表情包了。同时我也尝试着去做了一下对知乎用户数据的取,但还为成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值