python 爬取数据,并写入数据库
2018-02-08 17:29
211 查看
# coding=utf-8 import json import requests from bs4 import BeautifulSoup import db # 获取data def get_data(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36'}; response = requests.post(url, headers=headers, verify=False); response.encoding = 'utf-8'; text = response.text; # text = text.replace(' ', ''); # text = text.replace(' ', ''); text = text.replace('\n', ''); text = text.replace('\r', ''); return text; # 数据写入文件 def writeData(listData): db.dbInsert(listData) # file = open("jd.txt", "a+", encoding='utf-8'); # for data in listData: # writeData = json.dumps(data, ensure_ascii=False); # file.writelines(writeData); # file.writelines('\n'); # file.flush(); # file.close(); # 分析出想要的数据 # 返回的数据格式数list<Object> def analyzeData(html): listData = []; soup = BeautifulSoup(html, 'lxml'); contentList = soup.select('div.p-name'); for content in contentList: detail = {}; detail['key'] = content.select('a')[0].attrs.get('href'); detail['value'] = content.text.strip(); listData.append(detail); return listData; page = 0; lastKey = ''; while True: # 分页获取数据 page = page + 1; url = ""; data = get_data(url); listData = analyzeData(data); lastKeyTemp = listData[len(listData) - 1].get('key'); if lastKeyTemp == lastKey: break; else: lastKey = lastKeyTemp; writeData(listData);import psycopg2def dbInsert(listData):conn = psycopg2.connect(database='', user='', password='',host='',port='5432')cur = conn.cursor()for data in listData:try:cur.execute(r"""INSERT INTO t_data ("key", "value") VALUES('""" + data['key'] + """', '""" + data['value'] + """')""")except psycopg2.Error:continueconn.commit()# print('insert successfully')conn.close()
相关文章推荐
- python 接受远程数据并写入数据库的相关模块
- Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
- Python3 大型网络爬虫实战 004 — scrapy 大型静态商城网站爬虫项目编写及数据写入数据库实战 — 实战:爬取淘宝
- python读写sqlite3数据库并将统计数据写入excel
- [置顶] 【python 数据库写入】python把数据框数据写入mongodb、mysql
- 【详解】Python从数据库提取数据写入txt
- python读取文本数据写入到数据库及查询优化
- Python从数据库读取大量数据批量写入文件
- python脚本――生成EXCEL,连接数据库,并将指定数据写入EXCEL
- python读取文本数据写入到数据库及查询优化
- 将爬取到的数据(用Python)写入PostgreSQL数据库
- python取mysql数据写入excel
- 安装程序时 “向数据库写入数据时发生错误!”
- Python对excel写入数据操作实例代码(只供参考)
- python获取接口数据,写入文件
- 如何解决python连接数据库编码问题(python传数据到mysql乱码)'ascii' codec can't encode _mysql_exceptions.OperationalError: (1366, "Incorrect string value:?
- Python scrapy爬虫爬取伯乐在线全部文章,并写入数据库
- 如何高效的把监控数据写入数据库
- flex往数据库写入数据
- Python pandas数据库风格的数据合并