Python网络爬虫与信息提取

  • 使用python的requests库,就是跳过浏览器直接用脚本去访问服务器;

  • 首先我们要知道服务器的url,然后先用浏览器模拟访问该url,获取浏览器的信息(user-agent)和cookie进行重置request_header
    "cookie": "read_mode=day; default_font=font2; locale=zh-CN; __yadk_uid=tBJkWigvhZok7EuAKfwbks5CEThAs7SQ; Hm_lvt_0c0e9d9b1e7d617b3e6842e85b9fb068=1564490433,1564582799,1564584053; remember_user_token=W1sxODk0NTA5MF0sIiQyYSQxMSQ0cC5hNkFBWlZXdC5wTExLSm1xVWhlIiwiMTU2NDU4NDE1MC43ODU1MyJd--492bdf762eff89f4862fd1253125371c872f6f1c; _m7e_session_core=e791d2ac5b26540689c22156723f10a6; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218945090%22%2C%22%24device_id%22%3A%2216c42e580991c4-076c7180f30ebe-c343162-2073600-16c42e5809a632%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%2C%22first_id%22%3A%2216c42e580991c4-076c7180f30ebe-c343162-2073600-16c42e5809a632%22%7D; Hm_lpvt_0c0e9d9b1e7d617b3e6842e85b9fb068=1564585064",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
  • 若是需要上传参数(写博文,评论,更改或获取具体信息),则需要使用post请求并在请求后面添加具体的参数

    data = {'content': "Just Try 一下!" + str(x),'parent_id': 'null'}r = requests.post(url_writer, headers=header_writer, data=data)

一.登陆简书

import requests
from bs4 import BeautifulSoupurl = "https://www.jianshu.com/"headers1 = {# 记得每个参数之后要带“,”# 不能带这些参数# ":authority": "www.jianshu.com",# ':method': 'GET',# ":path": "/subscriptions",# ":scheme": "https","accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3","accept-encoding": "gzip, deflate, br","accept-language": "zh-CN,zh;q=0.9","cache-control": "max-age=0","cookie": "read_mode=day; default_font=font2; locale=zh-CN; __yadk_uid=tBJkWigvhZok7EuAKfwbks5CEThAs7SQ; Hm_lvt_0c0e9d9b1e7d617b3e6842e85b9fb068=1564490433,1564582799,1564584053; remember_user_token=W1sxODk0NTA5MF0sIiQyYSQxMSQ0cC5hNkFBWlZXdC5wTExLSm1xVWhlIiwiMTU2NDU4NDE1MC43ODU1MyJd--492bdf762eff89f4862fd1253125371c872f6f1c; _m7e_session_core=e791d2ac5b26540689c22156723f10a6; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218945090%22%2C%22%24device_id%22%3A%2216c42e580991c4-076c7180f30ebe-c343162-2073600-16c42e5809a632%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%2C%22first_id%22%3A%2216c42e580991c4-076c7180f30ebe-c343162-2073600-16c42e5809a632%22%7D; Hm_lpvt_0c0e9d9b1e7d617b3e6842e85b9fb068=1564585064",'if-none-match': 'W/"49471185b1d3265f2d523c590b251605"',"referer": "https://www.jianshu.com/notifications","upgrade-insecure-requests": "1","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}# requests库获取html请求
r = requests.get(url, headers=headers1)# beautifulSoup库解析html文件
connect = BeautifulSoup(r.text, "html.parser")
# print(connect.text)# 打印html页面
print(r.text)
print(r.status_code)

首先自己在网页登录简书的账号,然后找到链接并复制request header用来当作我们请求头,前面部分的要去掉,估计requests请求的时候自带一部分的内容

二.在文章里面评论

首先找到发送评论的url,以及参数名(可以在Chrome的开发者模式network获取,或者使用fiddle)

import requests
from bs4 import BeautifulSoup
import time# 简书写文章
url_writer = "https://www.jianshu.com/notes/47346873/comments"header_writer = {# :authority: www.jianshu.com# :method: POST# :path: /notes/47346873/comments# :scheme: https# accept: application/json# accept-encoding: gzip, deflate, br# accept-language: zh-CN,zh;q=0.9# content-length: 34# content-type: application/json;charset=UTF-8'cookie':  'read_mode=day; default_font=font2; locale=zh-CN; __yadk_uid=tBJkWigvhZok7EuAKfwbks5CEThAs7SQ; _m7e_session_core=29d8488b1360c5c5c82504b394f435e0; Hm_lvt_0c0e9d9b1e7d617b3e6842e85b9fb068=1564490433,1564582799,1564584053,1564673087; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218945090%22%2C%22%24device_id%22%3A%2216c42e580991c4-076c7180f30ebe-c343162-2073600-16c42e5809a632%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%2C%22first_id%22%3A%2216c42e580991c4-076c7180f30ebe-c343162-2073600-16c42e5809a632%22%7D; Hm_lpvt_0c0e9d9b1e7d617b3e6842e85b9fb068=1564673722','origin ':  'https://www.jianshu.com ','referer': 'https://www.jianshu.com/p/5d4091cfdbc9','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36','x-csrf-token': '0vcu/8mVFisy9QHdnNK/I3nsyesq7Rzaf7mSj7kj49XuQUUKyZbvEGVw3XVkbbU2kub8c34EJBTO1/a3daSPwQ=='
}# requests库获取html请求
x = 5
while x:data = {'content': "Just Try 一下!" + str(x),'parent_id': 'null'}r = requests.post(url_writer, headers=header_writer, data=data)x = x-1print(data['content'])time.sleep(2)# beautifulSoup库解析html文件
connect = BeautifulSoup(r.text, "html.parser")
# print(connect.text)# 打印html页面
print(r.text)
print(r.status_code)

使用requests库用cookie登录简书账号相关推荐

  1. 使用urllib.request库获取cookie登录

    使用urllib.request库获取cookie登录 一 .使用手动添加cookie的方式来获取页面 二.使用 cookiejar 自动获取登录后获得的cookie 一 .使用手动添加cookie的 ...

  2. 简书账号被封,占用微信号怎么解绑?

    今天, 很高兴能在这里为大家分享一点自己的经验, 就简书账号被封后怎么注销解绑从新注册以及被占用的微信号该怎么办? 能解绑吗? 为大家简单的叨叨两嗓子. 首先, 简书被封大多数原因是发布违反简书规则了 ...

  3. Python-爬虫-requests库用语post登录

    requests库很强大,支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的URL和POST数据自动编码. 可以发送无参数的get请求, ...

  4. 怎样使用cookie登录自己的账号

    在这之前,不管是做测试还是挖漏洞总会遇到这种问题 做测试的时候测试项里面有一个会话标识未更新,这种漏洞说白了就是在退出个人账户的时候没有及时的清除cookie,从而让别人利用你的cookie再次登录你 ...

  5. android自动登录简书,Android 自动登录——持久化Cookie

    背景 在使用鸿洋大神的玩Android网站开放的api开发android app时,使用Retrofit请求登录api,需要保存Cookie以备其他需要登陆后才能操作的api使用. 自定义拦截器实现持 ...

  6. 爬虫学习5——requests进阶(cookie登录、防盗链、

    目录 cookies登录 方法一:在提出申请时指定cookie 方法二:使用session,给出登陆的网站和账户密码,后续使用session提出网站申请 防盗链:就是网站的溯源,当前本次请求的上一级是 ...

  7. 利用requests库获取cookie的两种方式

    第一种: from fake_useragent import UserAgent import requestsdef get_Cookies0():ua = UserAgent().ie #随机获 ...

  8. android自动登录简书,android 手机号实现登录功能

    先看看效果 image.png 我的这个登录功能是手机号和密码都已经在后台数据库有存储的,所以是直接登录. 重点有三个: 1.账号密码的存储,实现自动登录: 2.网络通信: 3.密码一定要Md5加密之 ...

  9. android自动登录简书,Android开发之简单登录界面

    用户界面基础 Android系统的四大组件分别是活动(Activity).服务(Service).广播接收器(Broadcast Receiver).内容提供器(Content Provider). ...

最新文章

  1. GitNote基于git的个人云笔记
  2. c++ 数组换行_C语言的数组的构建与打印
  3. NLP十大数据扩充策略
  4. 什么是物理路径,相对路径,绝对路径以及根目录
  5. servlet中显示mysql字段_Java Servlet:从数据库获取信息并在屏幕上显示它
  6. linux实验试题 cp,cp命令实验,cp命令
  7. Halcon 一维码(条形码)
  8. Vue 事件绑定 事件修饰符 条件判断 循环遍历
  9. 【紫书第五章】String、结构体、部分STL的常见用法
  10. 工作失误:没有分析进程消耗了这么多内存的原因
  11. HBuilderX使用mac打包ios应用提示苹果根证书没有安装
  12. 逻辑或( || )和逻辑与( )的关系
  13. Kudu Partition Tablet Bucket
  14. pano2VR只更换全景图片
  15. 【AutoLeaders】一些好用的网站
  16. 几个简约Jekyll主题推荐
  17. 使用w查看系统负载 vmstat命令 top命令 sar命令 nload命令
  18. JAVA程序员的堕落:只知框架不懂底层原理
  19. 通过MediaRecorder 录制视频的时候,魅族手机录制视频后,大小显示0
  20. c语言注释符号 井号,读c语言深度剖析 -- 符号 注释符号

热门文章

  1. windows 10 电脑 应用图标变白色恢复方法
  2. 腾讯云七月优惠活动云服务器限量秒杀20元起
  3. CSS 自定义Radio样式
  4. px4机架和混控文件读取
  5. 【线上直播】微生物组学数据分析与挖掘专题会议
  6. GTA5美化MOD了,这套MOD真的绝了……?
  7. DR5加强版2019全新 | PS磨皮插件高端人像后期修图工具
  8. QtCreator 下使用glut.lib glut.dll
  9. 数字图像处理(第四版)-冈萨雷斯-学习过程的笔记
  10. python+opencv-03 高斯模糊