热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Python爬虫系列初探:爬取旅游评论

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python爬虫系列-初探:爬取旅游评论相关的知识,希望对你有一定的参考价值。Python爬虫目前是基于reques

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python爬虫系列 - 初探:爬取旅游评论相关的知识,希望对你有一定的参考价值。


Python爬虫目前是基于requests包,下面是该包的文档,查一些资料还是比较方便。

http://docs.python-requests.org/en/master/

爬取某旅游网站的产品评论,通过分析,获取json文件需要POST指令。简单来说:



  • GET是将需要发送的信息直接添加在网址后面发送

  • POST方式是发送一个另外的内容到服务器

那么通过POST发送的内容可以大概有三种,即form、json和multipart,目前先介绍前两种


1.content in form

Content-Type: application/x-www-form-urlencoded

将内容放入dict,然后传递给参数data即可。


payload = {key1: value1, key2: value2}
r
= requests.post(url, data=payload)


2. content in json

Content-Type: application/json

将dict转换为json,传递给data参数。


payload = {some: data}
r
= requests.post(url, data=json.dumps(payload))

或者将dict传递给json参数。


payload = {some: data}
r
= requests.post(url, json=payload)

然后贴一下简单的代码供参考。


import requests
import json
def getCommentStr():
url
= r"https://package.com/user/comment/product/queryComments.json"
header
= {
User-Agent: rMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0,
Accept: rapplication/json, text/Javascript, */*; q=0.01,
Accept-Language: ren-US,en;q=0.5,
Accept-Encoding: rgzip, deflate, br,
Content-Type: rapplication/x-www-form-urlencoded; charset=UTF-8,
X-Requested-With: rXMLHttpRequest,
Content-Length: 65,
DNT: 1,
Connection: rkeep-alive,
TE: rTrailers
}
params
= {
pageNo: 2,
pageSize: 10,
productId: 2590732030,
rateStatus: ALL,
type: all
}


r
= requests.post(url, headers = header, data = params)
print(r.text)
getCommentStr()


小技巧



  • 对于COOKIEs,感觉可以用浏览器的编辑功能,逐步删除每次发送的COOKIEs信息,判断哪些是没有用的?

  • 对于测试代码阶段,我还是比较习惯于将爬取的数据存为str,也算是为了服务器减负吧。

 


推荐阅读
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 第七课主要内容:多进程多线程FIFO,LIFO,优先队列线程局部变量进程与线程的选择线程池异步IO概念及twisted案例股票数据抓取 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
author-avatar
Yuki_沐1824355667
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有