yeayee:Python数据分析及可视化实例目录1.4

优采云 发布时间: 2021-02-12 10:01

  yeayee:Python数据分析及可视化实例目录1.4

  文章系列总目录:

  yeayee:Python数据分析和可视化示例目录

  

  

  

  1.背景介绍

  (1)连接到*敏*感*词*留下的作业,使用Cookies不用密码登录到今日的头条,并自动将回复回复到上一节采集的URL。经过测试,响应频率今日头条的速度太快了(3),挂起了提交按钮,因此,本文旨在解释如何执行POST,而Login也是一个原因。

  

  

  在代码中设置Cookie时,请携带主机(如果有)。

  (2)响应内容也很熟练。在这种情况下,响应内容由“标题”,“ 关键词”和促销标语组成,以避免被机器人识别为重复内容。

  

  

  呵呵,不要以为找到POST_URL并发布数据后才能得到回复!需要明确的是,它不起作用。因为提交释放按钮时,仍然会加载几个链接,从而更改了会话中的Cookie。因此,在使用请求时,它还会模拟先前的Get请求并自动更新Session。例如,在这种情况下,还需要一个Get请求:/ user / info /

  

  

  

  

  PS:我不知道他们的程序员为什么要重复将Post数据重复为两个变量并将其提交到数据库?

  (3)是的,您现在可以成功发布。扩展:登录网站的POST参数很难获得,尤其是JS动态生成的一些参数。此时将使用PhantomJS。Xchaoinfo /再次推荐。他妈的登录,所有操作都可以登录,如果您没有登录,也可以为猫和老虎拍照。我不会专门谈论邮政登录。使用Cookie单一帐户登录采集数据对于大多数人来说已经足够了,更高级的黑操作,涉及灰生产和恶意爬网程序的操作,不便进行详细说明(例如更改IP,更改ID,更改IQ等)。

  ([4)下一个要点是关于多线程和多进程的消息?还是继续向Du Niang提供工件Phantoms?给来宾留言!!!

  2.源代码

  # coding = utf-8

import requests

import re, json

from bs4 import BeautifulSoup

import time

headers = {

'Host': 'www.toutiao.com',

'content-type': 'application/json',

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',

'Cookie': 'tt_webid=646855411836120***8; 。。。。不要随便让人看到你的小秘密',

'Connection': 'keep-alive'

}

s = requests.session()

def post_data(base_url,post_content,post_id):

try:

# base_url = 'http://toutiao.com/group/64689424888533888/'

url2 = 'http://www.toutiao.com/user/info/'

content = s.get(url2, headers=headers) # 获取Useinfog,更新session

# soup = BeautifulSoup(content, "lxml")

# print(soup.prettify())

headers['Referer'] = base_url

url3 = 'http://www.toutiao.com/api/comment/post_comment/'

data = {

'status':post_content,

'content': post_content,

'group_id':post_id,

'item_id':post_id

}

s.post(url3, headers=headers, data=data) # 评论文章

print('评论成功啦,嚯嚯')

except:

print('掉坑里了,爬起来')

pass

f_lines = open('sorted.txt','r',encoding='utf-8').readlines()

posted_urls = open('posted.txt','r',encoding='utf-8').read()

# print(f_lines[0].strip().split(',')) # 实现记录已评论的Url,中断后可以接着评论

for f_line in f_lines:

if 'http://toutiao.com/group/' in f_line: # 说明是可以评论的文章

line_list = f_line.strip().split(',')

base_url = line_list[1]

print(base_url)

post_content = '大神,你发的《'+ line_list[2]+'》很有借鉴意义,能否转发呢?'

# print(post_content)

post_id = base_url.split('/')[-2]

if base_url not in posted_urls : # 进入下一个循环

try:

time.sleep(3)

post_data(base_url,post_content,post_id)

f_posted = open('posted.txt','a',encoding='utf-8')

f_posted.write(base_url+'\n')

f_posted.close()

except:

print('又他妈掉坑里了,爬起来')

pass

else:

print('曾经评论过了')

  yeayee:Python数据分析和可视化示例目录

  

  

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线