1.爬取搜狗页面源码信息并保存为html

import requests
if __name__ == "__main__":url = 'https://www.sogou.com/'#指定urlresponse = requests.get(url = url)#发起请求,获取响应数据page_text = response.textprint(page_text)with open('./sogou.html','w',encoding='utf-8') as fp:fp.write(page_text)#持久化储存print('爬取数据结束!')

2.爬取指定关键字的搜狗检索页面信息并保存为html
问号前面的存在url里
问号后面的存在字典里(问号后面包含哪些信息可以在页面检查中找到,此例中为’query’)

import requests
if __name__ == "__main__":url = 'https://www.sogou.com/web'kw = input('enter a word:')param = {'query':kw}response = requests.get(url = url, params = param)page_text = response.textfileName = kw+'.html'with open(fileName, 'w', encoding='utf-8') as fp:fp.write(page_text)print(fileName,'保存成功')

添加UA伪装(User-Agent伪装,伪装成浏览器发出的请求,而不是爬虫程序):

import requests
if __name__ == "__main__":headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'}#UA伪装(任意网页右键检查->network->点击任意包->复制User-Agent)url = 'https://www.sogou.com/web'kw = input('enter a word:')param = {'query':kw}response = requests.get(url = url, params = param, headers = headers)page_text = response.textfileName = kw+'.html'with open(fileName, 'w', encoding='utf-8') as fp:fp.write(page_text)print(fileName,'保存成功')

3.破解百度翻译
翻译后与翻译前的url不变,代表是一个ajax请求,所以要在XHR下面找数据包。
返回来的是json数据
request.get与request.post的区别:Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据(可以携带参数)。本次是post请求。

response返回的是字典

import requests
import json
if __name__ == "__main__":post_url = 'https://fanyi.baidu.com/sug'headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'}word = input('enter a word:')data = {'kw':word}#携带信息response = requests.post(url = post_url, data = data, headers = headers)#发送请求dic_obj = response.json()#返回字典objfileName = word+'.json'fp = open(fileName,'w',encoding = 'utf-8')json.dump(dic_obj,fp = fp, ensure_ascii = False)#保存(因为是中文,ASC码要选择false)print('over!')


确定类型是json才能使用response.json。
4.爬取豆瓣电影Top250
参数:

response最外边一层返回的是列表

import requests
import json
if __name__ == "__main__":url = 'https://movie.douban.com/j/chart/top_list'#url,只复制问号前面的headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'}param = {'type': '24','interval_id': '100:90','action':'','start': '0','limit': '20'}#修改参数,从第1部到第20部response = requests.get(url=url,params=param,headers=headers)list_data = response.json()fp = open('./douban.json', 'w', encoding='utf-8')json.dump(list_data, fp=fp, ensure_ascii=False)print('over')

保存后的json格式可以用json在线解析查看

Python爬虫实例(一)相关推荐

  1. python爬虫实例-记录一次简单的Python爬虫实例

    本次的这篇文章主要是和大家分享了一篇关于记录一次简单的Python爬虫实例 ,有需要的小伙伴可以看一下. 主要流程分为: 爬取.整理.存储 1.其中用到几个包,包括 requests 用于向网站发送请 ...

  2. Python爬虫实例--新浪热搜榜[xpath语法]

    Python爬虫实例--新浪热搜榜[xpath语法] 1.基础环境配置: requests-->版本:2.12.4 lxml-->版本:3.7.2 2.网页分析 很容易从html源码中看到 ...

  3. Python爬虫实例--新浪热搜榜[正则表达式]

    Python爬虫实例--新浪热搜榜[正则表达式] 1.基础环境配置: requests-->版本:2.12.4 re-->:Python自带,无需安装 2.网页分析 很容易从html源码中 ...

  4. python爬虫进阶案例,Python进阶(二十)-Python爬虫实例讲解

    #Python进阶(二十)-Python爬虫实例讲解 本篇博文主要讲解Python爬虫实例,重点包括爬虫技术架构,组成爬虫的关键模块:URL管理器.HTML下载器和HTML解析器. ##爬虫简单架构 ...

  5. Python爬虫实例(3)--BeautifulSoup的CSS选择器

    Python爬虫实例 紧接着上一讲的内容. 我们初步了解了bs4这个解析库. 但是bs4难道只有find,find_all了吗? 如果层次比较深,相似的元素比较多,和可能会写的比较长. 最主要的是很难 ...

  6. python爬虫实例教程之豆瓣电影排行榜--python爬虫requests库

    我们通过requests库进行了简单的网页采集和百度翻译的操作,这一节课我们继续进行案例的讲解–python爬虫实例教程之豆瓣电影排行榜,这次的案例与上节课案例相似,同样会涉及到JSON模块,异步加载 ...

  7. Python爬虫实例 wallhaven网站高清壁纸爬取。

    文章目录 Python爬虫实例 wallhaven网站高清壁纸爬取 一.数据请求 1.分析网页源码 2.全网页获取 二.数据处理 1.提取原图所在网页链接 2.获取高清图片地址及title 三.下载图 ...

  8. python爬虫实例之——多线程爬取小说

    之前写过一篇爬取小说的博客,但是单线程爬取速度太慢了,之前爬取一部小说花了700多秒,1秒两章的速度有点让人难以接受. 所以弄了个多线程的爬虫. 这次的思路和之前的不一样,之前是一章一章的爬,每爬一章 ...

  9. 饱暖思淫欲之美女图片的Python爬虫实例(二)

    美女图片的Python爬虫实例:面向服务器版 ==该爬虫面向成年人且有一定的自控能力(涉及部分性感图片,仅用于爬虫实例研究)== 前言 初始教程 存在问题 解决思路 目标 实现步骤 硬件配置 服务器信 ...

  10. Python爬虫实例(1)--requests的应用

    Python爬虫实例(1) 我们在接下来的爬虫实例(1)里面将逐步的循序渐进的介绍爬虫的各个步骤. 已及时用到的工具,以及具体情况下的用法. 我们的任务是这样的: 爬取<修真聊天群>小说的 ...

最新文章

  1. SpringBoot定义统一的controller返回格式
  2. 成功解决 ModuleNotFoundError: No module named ‘PyQt5.sip‘
  3. seq2seq编码器和解码器:TensorFlow实现
  4. helm search搜索charts命令
  5. java环境配置常用链接
  6. Spring Boot基础讲解
  7. jQuery中each的用法之退出循环和结束本次循环
  8. svn移动目录时如何保留原来的日志
  9. 召回率(Recall),精确率(Precision),交除并(Intersection-over-Union(IoU)
  10. 抹去阴影,搞定了Cyclone III
  11. Qt中与文件目录相关操作
  12. idea怎么创建python项目
  13. 电源篇 -- 升压电路 Boost
  14. RN上使用react-native-video视频播放器插件
  15. ApacheCN 活动汇总 2019.7.5
  16. smartprinter注册版_SmartPrinter免费版
  17. 纯JS实现倒序九九乘法表 for循环
  18. ImportError: _C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops6narrow4callERKNS_6Ten
  19. nrf52832 Uart 调试
  20. 试图加载不正确的程序。(异常来自HRESULT:0x8007000B)的处理方式

热门文章

  1. Code:NFine目录
  2. 基于springboot微信小程序点餐系统的设计与实现
  3. opera收银学习(一)
  4. Vue项目引入自定义字体
  5. 将QIIME2学习进行到底
  6. VMware vSphere Client5.0与 Windows8不再有问题,解决VMware 5.0 客户端提示VMRC控制台的连接已断开...
  7. JavaEE实战项目(初学者)
  8. 6个好用到爆的音频、配乐素材网站,BGM都在这里了
  9. linux 查看日志命令总结
  10. TuShare Pro 股票期货数据提取神器(Python)