python简单爬虫--get方式详解

目录
  • 环境准备
  • 进行爬虫
  • 参考
  • 总结

简单爬虫可以划分为get、post格式。其中,get是单方面的获取资源,而post存在交互,如翻译中需要文字输入。本文主要描述简单的get爬虫。

环境准备

安装第三方库

pip install requests
pip install bs4
pip install lxml

进行爬虫

1.获取网页数据。

import requests
from bs4 import BeautifulSoup
url = "https://cn.bing.com/search?q=爬虫CSDN&qs=n&form=QBRE&sp=-1&pq=爬虫csdn&sc=5-6&sk=&cvid=0B13B88D8F444A0182A4A6C36E463179/"
response = requests.get(self.url)

2.解析网页数据

soup = BeautifulSoup(response.text, 'lxml')

3.选取目标数据。此处key 依据源代码目标标题的位置确定。首先进入开发者模式,后查看目标在html中的位置,右击选择“复制selector”,见下图。

key = "#b_results > li > div.b_title > h2 > a"
soup.select(key)

4.清洗数据

result = {}
for i, item in enumerate(data):
     result.update({
         f'title_{i}': item.get_text(),
         f'url_{i}': item.get('href')
     })
 print(result)

参考

链接:https://www.jb51.net/article/152560.htm

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • python爬虫 基于requests模块的get请求实现详解

    需求:爬取搜狗首页的页面数据 import requests # 1.指定url url = 'https://www.sogou.com/' # 2.发起get请求:get方法会返回请求成功的响应对象 response = requests.get(url=url) # 3.获取响应中的数据:text属性作用是可以获取响应对象中字符串形式的页面数据 page_data = response.text # 4.持久化数据 with open("sougou.html","w&

  • python爬虫 基于requests模块发起ajax的get请求实现解析

    基于requests模块发起ajax的get请求 需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据 用抓包工具捉取 使用ajax加载页面的请求 鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求, 用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求 这个get请求是本次发起的请求的url ajax的get请求携带参数 获取响应内容不再是页面数据,是json字符串,是通过异步请求获取的电影

  • Python大数据之网络爬虫的post请求、get请求区别实例分析

    本文实例讲述了Python大数据之网络爬虫的post请求.get请求区别.分享给大家供大家参考,具体如下: 在JetBrains PyCharm 2016.3软件中编写代码前,需要指定python和编码方式: #!user/bin/python 编码方式 :#coding=utf-8 或者 #-*-coding:utf-8-*- post请求: #导入工具,内置的库 import urllib import urllib2 #加一个\可以换行 #response = \ #urllib2.url

  • python爬虫中get和post方法介绍以及cookie作用

    首先确定你要爬取的目标网站的表单提交方式,可以通过开发者工具看到.这里推荐使用chrome. 这里我用163邮箱为例 打开工具后再Network中,在Name选中想要了解的网站,右侧headers里的request method就是提交方式.status如果是200表示成功访问下面的有头信息,cookie是你登录之后产生的存储会话(session)信息的.第一次访问该网页需要提供用户名和密码,之后只需要在headers里提供cookie就可以登陆进去. 引入requests库,会提供get和po

  • python2与python3爬虫中get与post对比解析

    python2中的urllib2改为python3中的urllib.request 四种方式对比: python2的get # coding=utf-8 import urllib import urllib2 word = urllib.urlencode({"wd":"百度"}) url = 'http://www.baidu.com/s' + '?' + word request = urllib2.Request(url) print urllib2.url

  • python简单爬虫--get方式详解

    目录 环境准备 进行爬虫 参考 总结 简单爬虫可以划分为get.post格式.其中,get是单方面的获取资源,而post存在交互,如翻译中需要文字输入.本文主要描述简单的get爬虫. 环境准备 安装第三方库 pip install requests pip install bs4 pip install lxml 进行爬虫 1.获取网页数据. import requests from bs4 import BeautifulSoup url = "https://cn.bing.com/sear

  • 关于python 跨域处理方式详解

    因为浏览器的同源策略限制,不是同源的脚本不能操作其他源下面的资源,想操作另一个源下面的资源就属于跨域了,这里说的跨域是广义跨域,我们常说的代码中请求跨域,是狭义的跨域,即在脚本代码中向非同源域发送http请求 浏览器的同源策略(SOP/same origin policy)是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS(跨站脚本攻击 cross site scripting)和CSRF(跨站请求伪造cross-site request forgery)等攻击. (同

  • python简单区块链模拟详解

    最近学习了一点python,那就试着做一做简单的编程练习. 首先是这个编程的指导图,如下: 对的,类似一个简单区块链的模拟. 代码如下: class DaDaBlockCoin: #index 索引,timestamp 时间戳,data 交易记录,self_hash交易hash,last_hash,上个hash def __init__(self,idex,timestamp,data,last_hash): self.idex = idex self.timestamp = timestamp

  • Python Dataframe常见索引方式详解

    创建一个示例数据框: import pandas as pd df = pd.DataFrame([['乔峰', '男', 95, '降龙十八掌', '主角'], ['虚竹', '男', 93, '天上六阳掌', '主角'], ['段誉', '男', 92, '六脉神剑', '主角'], ['王语嫣', '女', 95,'熟知武诀', '主角'], ['包不同', '男', 65, '胡搅蛮缠', '配角'], ['康敏', '女', 40, '惑夫妒人', '配角']], index=list

  • python tkinter组件摆放方式详解

    1.最小界面组成 # 导入tkinter模块 import tkinter # 创建主窗口对象 root = tkinter.Tk() # 设置窗口大小(最小值:像素) root.minsize(300,300) # 创建一个按钮组件 btn = tkinter.Button(root,text = '屠龙宝刀,点击送') btn.pack() # 加入消息循环 root.mainloop() 设置初始化界面大小 # 设置初始化界面大小 root.geometry('300x400') 2.组件

  • python网络爬虫 CrawlSpider使用详解

    CrawlSpider 作用:用于进行全站数据爬取 CrawlSpider就是Spider的一个子类 如何新建一个基于CrawlSpider的爬虫文件 scrapy genspider -t crawl xxx www.xxx.com 例:choutiPro LinkExtractor连接提取器:根据指定规则(正则)进行连接的提取 Rule规则解析器:将连接提取器提取到的连接进行请求发送,然后对获取的页面进行指定规则[callback]的解析 一个链接提取器对应唯一一个规则解析器 例:crawl

  • python 代码运行时间获取方式详解

    我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间.这里将介绍四种常用的测试代码运行速度的方法. 第一种:使用time模块对代码的运行时间进行统计,代码如下: import time class Debug: def mainProgram(self): start_time = time.time() for i in range(100): print(i) end_time = time.time() prin

  • Python selenium 三种等待方式详解(必会)

    很多人在群里问,这个下拉框定位不到.那个弹出框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待.殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么量级的,就好比闪电侠和凹凸曼约好去打怪兽,然后闪电侠打完回来之后问凹凸曼你为啥还在穿鞋没出门?凹凸曼分分中内心一万只羊驼飞过,欺负哥速度慢,哥不跟你玩了,抛个异常撂挑子了. 那么怎么才能照顾到凹凸曼缓慢的加载速度呢?只有一个办法,那就是等喽.说到等,又有三种等法,且听博主一一道来: 1. 强制等待

  • Python selenium 父子、兄弟、相邻节点定位方式详解

    今天跟大家分享下selenium中根据父子.兄弟.相邻节点定位的方法,很多人在实际应用中会遇到想定位的节点无法直接定位,需要通过附近节点来相对定位的问题,但从父节点定位子节点容易,从子节点定位父节点.定位一个节点的哥哥节点就一筹莫展了,别急,且看博主一步步讲解. 1. 由父节点定位子节点 最简单的肯定就是由父节点定位子节点了,我们有很多方法可以定位,下面上个例子: 对以下代码: <html> <body> <div id="A"> <!--父节

  • Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬出来. 分析网站 首先来到目标数据的网页 http://www.weather.com.cn/weather40d/101280701.shtml 我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有部分页面刷新了,就是天气数据的那块,而URL没有变化. 这是因为网页前端使用

随机推荐