【爬虫登录、爬取并评论-简单实用】


版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

爬虫登录、爬取并评论

需求:登录读网、爬取并评论
环境:windows系统
开发语言:python

使用工具类:
bs4
requests

一:获取登录网页login_url和data参数

可以用错误密码来快速获取登录的login_url地址,之后再用正确的登录来获取请求里面的登录data_comment参数信息

在这里插入图片描述

requests.session()来保存登录的cookies信息

from bs4 import BeautifulSoup
import requests

#一:获取登录cookies------------------------------------------------------------------------------
#获取登录网页内容
login_url = 'https://xx.xxxxxxxxx.cn/wp-admin/admin-ajax.php'
data = {
    
    
'action':'ajaxlogin',
'username':'[email protected]',
'password':'xxxxxxx',
'remember':'true'
}
header = {
    
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0'}
session = requests.session()
login_resp = session.post(url=login_url,headers=header,data=data)
# print(login_resp.cookies)
# #存储登录网页内容
# with open('./login_resp.html','w',encoding='utf-8') as fp:
#     fp.write(login_resp.text)

二:用带登录参数的session获取要爬取的网页内容

定位需要的评论内容
在这里插入图片描述

#二:用登录cookies获取要爬取的网页内容--------------------------------------------------------------
detail_url = 'https://xx.xxxxxxxxx.cn/psychology/8384/'
detail_resp = session.get(url=detail_url,headers=header)
# #存储要爬取的网页内容
# with open('./detail_resp.html','w',encoding='utf-8') as fp:
#     fp.write(detail_resp.text)
bs = BeautifulSoup(detail_resp.text,'html.parser')
comment_list = bs.find_all('li',class_='comment-item')
for info in comment_list:
    name_list = info.find('div',class_='comment-txt').find('div',class_='hd').find('cite',class_='fn').text
    data_list = info.find('div',class_='comment-txt').find('div',class_='hd').find('p',class_='date').text
    text_list = info.find('div',class_='comment-txt').find('div',class_='bd').find('p').text
    reply_list = info.find('div',class_='comment-txt').find('div',class_='bd').find('a')['href']
    inf = {
    
    
        '评论者':name_list,
        '评论日期':data_list,
        '评论内容':text_list,
        # '回复链接':reply_list
    }
    print(inf)



三:用登录cookies获取要爬取的网页内容

自己评论一下来获取detail_url:和data_comment在这里插入图片描述

在这里插入图片描述

#三:提交评论------------------------------------------------------------------------------
comment_url = 'https://xx.xxxxxxxxx.cn/wp-comments-post.php'
data_comment={
    
    
'comment':'comment_3',
'submit':'',
'comment_post_ID':'8384',
'comment_parent':'0'
}
comment_resp = session.post(comment_url,data=data_comment)
if comment_resp.status_code ==200:
    print('评论成功')
else:
    print('评论发送失败,状态码为{}'.format(comment_resp.status_code))

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

猜你喜欢

转载自blog.csdn.net/weixin_45711406/article/details/123753354
今日推荐