python 导入包import requests   以爬取腾讯招聘网的招聘信息为例:(完整代码)

import requests
from lxml import etree
import pymysql headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'}
response = requests.get('https://hr.tencent.com/position.php?lid=&tid=&keywords=', headers=headers)
html = etree.HTML(response.content.decode()) # 职位名称
list_zhiwei = html.xpath('//td[@class="l square"]/a/text()')
print(list_zhiwei) # 职位类型
list_style = html.xpath('//tr[@class="even"]/td[2]/text()| //tr[@class="odd"]/td[2]/text()')
print(list_style) # 人数
list_num = html.xpath('//tr[@class="even"]/td[3]/text()| //tr[@class="odd"]/td[3]/text()')
print(list_num) # 地点
list_place = html.xpath('//tr[@class="even"]/td[4]/text()| //tr[@class="odd"]/td[4]/text()')
print(list_place) # 发布时间
list_time = html.xpath('//tr[@class="even"]/td[5]/text()| //tr[@class="odd"]/td[5]/text()')
print(list_time) 接下来是入库的过程,也是今天在实际应用中犯的错误,把错误代码贴出来,下次切记别犯了!
# 入库

conn = pymysql.connect(host = '127.0.0.1',port = 3306,database = 'python01',user = 'root',password = '123456',charset = 'utf8' )
cursor = conn.cursor()
for i in range(10):
name_z = list_zhiwei[i]
caregory = list_style[i]
num_people = list_num[i]
place = list_place[i]
add_time = list_time[i]
cursor.execute("insert into txZp values(0,'" + name_z + "','" + caregory + "','" + num_people + "','" + place + "','" + add_time + "')")
cursor.close()
conn.commit()
conn.close() # 错误在于,关闭cursor对象和链接的缩进格式不正确,上面的实例对象建立和关闭没有在同一层,导致最后报错,mysql表格里也添加进去数据了,但是仅仅添加了一条

shift+Tab取消缩进后,错误消失,数据正常添加到mysql表格中,效果如下:

ps 缩进问题实在是不应该出现,写一篇博客提醒自己,以后切记!!

												

切记!pycharm向mysql数据库添加数据过程的更多相关文章

  1. Loadrunner脚本优化-参数化之关联MySQL数据库获取数据

    脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1.   安装MySQL ODBC驱动程序 O ...

  2. Cacti监控mysql数据库服务器实现过程

    Cacti监控mysql数据库服务器实现过程 2014-05-29      0个评论    来源:Cacti监控mysql数据库服务器实现过程   收藏    我要投稿 1 先在cacti服务器端安 ...

  3. CentOS6 更改Mysql数据库的数据存放位置

    mysql使用yum安装时,默认的数据是存储在/var/lib/mysql下.一般情况下,为了数据的安全性,建议将mysql数据库的数据文件存储在系统的第二块磁盘上的目录下可以按照以下步骤进行操作: ...

  4. MySQL数据库添加一个字段

    MySQL数据库添加一个字段 1.添加一个字段 alter table tableName add 列名  数据类型; 2.添加一个字段设置默认值 alter table tableName add ...

  5. Mysql数据库写入数据速度优化

    Mysql数据库写入数据速度优化 1)innodb_flush_log_at_trx_commit 默认值为1:设置为0,可以提高写入速度.  值为0:提升写入速度,但是安全方面较差,mysql服务器 ...

  6. MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

    MySQL数据库插入数据出现ERROR 1526 (HY000): Table has no partition for value xxx工作的时候发现无法插入数据,报错:ERROR 1526 (H ...

  7. 使用C#类向数据库添加数据的例子源码

    在上一篇中,增加了sql server数据库操作类SqlOperator,用于操作sql server数据库.还有一个SqlStringHelper类,用于处理sql语句的单引号.那么这两个类怎么使用 ...

  8. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

  9. 数据库添加数据II及SQL语句错误

    前些时候,写的代码(数据库添加数据I),往数据库添加数据都是很基本的一条一条地添加.但是平常用于测试时,总不可能一条一条地添加测试数据吧,然后我就尝试着一次性添加几百上千条,但是再次操作的时候,就出问 ...

随机推荐

  1. vsftpd服务安装配置

    服务器:centos6.5 32位   192.168.1.114 1.安装 yum -y install vsftpd 2.启动 /etc/init.d/vsftpd start 3.配置 配置文件 ...

  2. python basic

    #遍历一个序列,很多传统语言过来的,习惯用下标遍历,Python中序列是可迭代的,直接for即可! colors=['red','green','blue','yellow'] for color i ...

  3. vulnerability test

    vegas ---go--https://zhuanlan.zhihu.com/p/21826478 locust---python jmeter--java---http://www.cnblogs ...

  4. 深谈CDQ分治

    关于CDQ分治我想我自己做过前面的题应该会了这种思想了吧,然后我是真的“会了”. 我想针对于偏序问题我是会了,我现在只会三维偏序了,脑子都是疼的. 但是 CDQ分治最主要的还是基于时间方面的分治思想, ...

  5. 完美解决failed to open stream: HTTP request failed!(file_get_contents引起的)

    当使用php5自带的file_get_contents方法来获取远程文件的时候,有时候会出现file_get_contents(): failed to open stream: HTTP reque ...

  6. es基本修改相关的

    一.修改mapping POST linewell_assets_mgt_es/lw_devices/_mapping { "lw_devices": { "proper ...

  7. JQPRINT-不错的jquery打印插件

    1.首先引用Jquery和jqprint-0.3.js(依赖于Jquery的) <script language="javascript" src="jquery- ...

  8. SQL server 2005数据库的还原与备份

    一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2005→SQL Server Management Studio ,这里我以UMVTEST命 ...

  9. atom 为什么启动terminal是总是打开是用户目录?

    atom 为什么启动terminal是总是打开是用户目录?如下图: 原因也很简单,只怪自己懒,没查单词surpress是什么意思: surpress directory argument,是抑制目录参 ...

  10. es分布式文档系统_bulk api的奇特json格式与底层性能优化关系

    1.bulk api奇特的json格式{"action":{"meta"}}\n{"data"}\n{"action": ...