beautifulsoup

How to Beautiful Soup (bs4) match just one, and only one, css class

社会主义新天地 提交于 2020-08-15 10:34:27
问题 I am using following code to match all div that have CSS class "ad_item". soup.find_all('div',class_="ad_item") problem that I have is that, on that web page, there are also div that have CSS class set to "ad_ex_item" and "ad_ex_item". <div class="ad_item ad_ex_item"> In documentation it is stated: When you search for a tag that matches a certain CSS class, you’re matching against any of its CSS classes: So how can I match div, that have only "ad_item", and do not have "ad_ex_item". Or to put

02爬取豆瓣最受欢迎的250部电影

故事扮演 提交于 2020-08-15 01:45:10
# 爬取豆瓣最受欢迎的250部电影,并写入Excel表格中 import requests,xlwt from bs4 import BeautifulSoup # 请求豆瓣网站,获取网页源码 def request_douban(url): try : # 请求url headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"} response = requests.get(url,headers = headers) # 判断网页的返回码是不是200 print(response.status_code) if response.status_code == 200: return response.text except requests.RequestException: return None book = xlwt.Workbook(encoding = "utf-8",style_compression = 0 ) # 先定义一个Excel表格,写好名称,图片等信息 sheet = book.add_sheet("豆瓣电影Top250",cell

2020,必备自动生成测试脚本方案

怎甘沉沦 提交于 2020-08-14 08:59:44
构想篇 作为一名接口自动化测试工程师,日常面临最多的工作就是编写接口自动化测试脚本,那么,在 coding 的过程中最让你觉得枯燥和乏味事情有哪些? 痛点 每次拿到新接口,我们要手动参照文档在脚本中生成一份接口类,参数越多花费时间越多 需求不同,但健壮性和部分业务用例重复性高 想重构脚本,接口数据和用例这块纯编写的工作量就会让人望而怯步 每天都要花上30%的时间去写那些不太需要思考的脚本,这真不够自动化! 解决方案 解析文档 梳理适合自动生成的脚本 通过工具生成这部分脚本 预期目标 解放双手,降低纯手力劳动占比,进而给自己提供更多的时间去思考、理解产品和设计更多“聪明”的用例 实践篇 自动化获取接口信息 分析接口自动化脚本结构和内容 自动化测试脚本结构图 筛选工作量大又有规律可循的脚本 此处规律不宜太过于复杂,可先选逻辑简单的部分,我们主要选取以下两部分 接口类,工作时间占比30%~50%,特点:结构特定、数据来源于其它平台 接口类结构图 用例部分,工作时间占比30%~50%,特点:重复度高于80%左右、生成逻辑可描述 用例结构图 解析接口文档 接口信息来源于接口文档,目前市场上比较主流的几个接口文档管理工具有Swagger、RAP、WIKI 或者其他普通文档工具。 下面以解析接口文件为目的分析比较下几款工具的区别:. 分类 Swagger RAP WIKI 描述 用于生成、描述

如何用Python爬取小游戏网站,把喜欢的游戏收藏起来(附源码)

痞子三分冷 提交于 2020-08-14 02:14:29
简介: Python 是一门简单易学且功能强大的编程语言,无需繁琐的配置,掌握基本语法,了解基本库函数,就可以通过调用海量的现有工具包编写自己的程序,轻松实现批量自动化操作,可以极大提高办公和学习效率。Python爬虫可以批量获取网页上的数据。 Python的环境配置 1. 代码编辑器 Pycharm community 2. 代码解释器 Python 3.7.6 3. 在Pycharm中创建项目并配置Python环境 4. 安装工具包的两种方式 4399小游戏爬虫实战 1、爬虫的基本步骤 使用requests下载网页 使用BeautifulSoup将requests下载的内容解析为DOM (文档对象模型) 通过DOM获取所需要的数据 2、4399小游戏的本地运行 支持下载到本地的游戏 : 以 .swf 为扩展名的游戏 游戏主体页的<embed>的src属性可以得到绝对地址 游戏绝对地址示例: http://sxiao.4399.com/4399swf/upload_swf/ftp29/liuxinyu/20190731/7/main.swf 游戏信息页可以获取相对地址: 在<script>标签中 , Ctrl+F 搜索关键字 _strGamePath可以得到 游戏相对地址示例: /upload_swf/ftp29/liuxinyu/20190731/7/main.swf 所需文件

Python分析最近大火的网剧《隐秘的角落》,看看网友们有什么看法

你。 提交于 2020-08-13 11:42:39
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 估计最近很火的连续剧《隐秘的角落》大家趁着端午假期都看过了吧?小编也跟着潮流,一口气把12集的连续剧全部看完了。看过的人肯定对朋友圈里有人发的“一起去爬山”、“小白船”、“还有机会吗”的意思心照不宣。没看过的,如果已为人父人母的,强烈要求看一下。 剧很精彩,但追剧界有句俗话说得好:“弹幕往往比剧更精彩”,为了让精彩延续下去,咱们来看看该剧弹幕的部分。电视剧是在爱奇艺独播,因此从爱奇艺上爬虫最为合适。 爬取弹幕 爱奇艺的弹幕数据是以 .z 形式的压缩文件存在的,先获取 tvid 列表,再根据 tvid 获取弹幕的压缩文件,最后对其进行解压及存储,大概就是这样一个过程。 def get_data(tv_name,tv_id): url = https://cmts.iqiyi.com/bullet/{}/{}/ {}_300_{}.z datas = pd.DataFrame(columns= [uid,contentsId,contents,likeCount]) for i in range(1,20 ): myUrl = url.format(tv_id[-4:-2],tv_id[-2 :],tv_id,i) print (myUrl) res =

Python快速爬取车标网图片,以后不要说这什么车你不认识了!

▼魔方 西西 提交于 2020-08-13 05:04:30
知识不分边界...... 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!” 今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊?” 我:“红色的车…”小小说:“爸爸肯定不认识,我也知道是红色的车。”气氛有些冷场… 别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在孩子面前丢份啊,我决定学习学习车标! 车标网 在网上找了半天车标的数据,最后看到了这个网站:车标网: http://www.chebiaow.com/logo。 网站将车系按照字母从A-Z进行了排序,然后点击每个车标进入详细信息,那Audi做例子: 有用的数据是哪些?品牌名称,车标,成立时间,主要车型,官网… 那么今天的爬虫练习呼之欲出,获取车标网下所有的汽车品牌及车标,并入库保存… 数据库操作指南 针对简单的数据,我习惯用python自带的sqlite3进行数据库的存储,简单方便….那么如何管理我们的数据库呢?推荐使用DBUtils!在往期的文章 决战高考,帮你秒变成语之王中,有对DBUtils的详细介绍,这里就不再赘述了… 但本次有一个知识点,我们需要将车标图片,存储在数据库中

Python爬虫知识点梳理

不羁的心 提交于 2020-08-12 11:34:35
Python入门教程免费领取 https://www.cnblogs.com/yuxiang1/p/13301047.html 做数据分析和任何一门技术一样,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,一定要明确学习目的,在你准备学爬虫前,先问问自己为什么要学习爬虫。有些人是为了一份工作,有些人是为了好玩,也有些人是为了实现某个黑科技功能。不过可以肯定的是,学会了爬虫能给你的工作提供很多便利。 小白入门必读 作为零基础小白,大体上可分为三个阶段去实现。 第一阶段是入门,掌握必备基础知识,比如Python基础、网络请求的基本原理等; 第二阶段是模仿,跟着别人的爬虫代码学,弄懂每一行代码,熟悉主流的爬虫工具, 第三阶段是自己动手,到了这个阶段你开始有自己的解题思路了,可以独立设计爬虫系统。 爬虫涉及的技术包括但不限于熟练一门编程语言(这里以 Python 为例) HTML 知识、HTTP 协议的基本知识、正则表达式、数据库知识,常用抓包工具的使用、爬虫框架的使用、涉及到大规模爬虫,还需要了解分布式的概念、消息队列、常用的数据结构和算法、缓存,甚至还包括机器学习的应用,大规模的系统背后都是靠很多技术来支撑的。数据分析、挖掘、甚至是机器学习都离不开数据,而数据很多时候需要通过爬虫来获取,因此

Python编程快速上手 让繁琐工作自动化PDF高清完整版免费下载|百度云盘

筅森魡賤 提交于 2020-08-11 20:05:39
百度云盘:Python编程快速上手 让繁琐工作自动化PDF高清完整版免费下载 提取码:6msq 内容简介 如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。 本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。 本书适合任何想要通过Python学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用强大的编程语言和工具,并且会体会到Python编程的快乐。 作者简介 Al Sweigart 是一名软件开发者,还教小孩和成人编程。他为初学者写了几本Python 书籍,包括《Python 密码学编程》、《Python 游戏编程快速上手》和《Python 和Pygame 游戏开发指南》。 目录 第一部分Python编程基础 第1章 Python基础 3 1.1 在交互式环境中输入表达式

如何入门 Python 爬虫?400集免费教程视频带你从0-1全面掌握

核能气质少年 提交于 2020-08-11 14:48:10
学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程 2.看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习。 如果时间充裕的话可以买一本讲Python基础的书籍比如 《Python编程》 ,阅读这些书籍,在巩固一遍基础的同时你会发现自己诸多没有学习到的边边角角,这一步是对自己基础知识的补充。 4.Python库是Python的精华所在,可以说Python库组成并且造就了Python,Python库是Python开发者的利器,所以学习Python库就显得尤为重要:The Python Standard Library ,Python库很多,如果你没有时间全部看完,不妨学习一遍常用的Python库:Python常用库 5.Python库是开发者利器,用这些库你可以做很多很多东西,最常见的网络爬虫、自然语言处理、图像识别等等,这些领域都有很强大的Python库做支持,所以当你学了Python库之后,一定要第一时间进行练习。 6

python爬取数据并保存到数据库中(第一次练手完整代码)

落爺英雄遲暮 提交于 2020-08-11 07:11:17
  1.首先,下载需要的模块requests, BeautifulSoup, datetime, pymysql(注意,因为我用的python3.7,不支持mysqldb了),具体的下载方法有pip下载,或者使用Anaconda版本python的童鞋可以使用conda下载。   2.创建conndb,py,包含数据库的连接断开,增删改查等操作: #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql def conn_db(): # 连接数据库函数 conn = pymysql.connect( host='localhost', user='数据库用户名', passwd='数据库密码', db='数据库名称', charset='utf8') cur = conn.cursor() return conn, cur def exe_update(cur, sql): # 更新语句,可执行update,insert语句 sta = cur.execute(sql) return sta def exe_delete(cur, ids): # 删除语句,可批量删除 for eachID in ids.split(' '): sta = cur.execute('delete from cms where id =%d'