使用Python写一个简单的WordPress网站采集程序

#!/usr/bin/python3 # -*- coding: UTF-8 -*- import pymysql class msql: def __init__(self,host,database,user,pwd): self.host=host self.database=database self.user=user self.pwd=pwd def conn(self): self.conn=pymysql.connect(host=self.host, user=self.user,password=self.pwd,database=self.database,charset="utf8") #return self.conn def insertmany(self,sql,data): cursor = self.conn.cursor() try: # 批量执行多条插入SQL语句 cursor.executemany(sql, data) # 提交事务 self.conn.commit() except Exception as e: # 有异常,回滚事务 print(e) self.conn.rollback() cursor.close() def insert(self,sql): cursor = self.conn.cursor() cursor.execute(sql) self.conn.commit() cursor.close() def ishave(self,sql): cursor = self.conn.cursor() # 执行SQL语句 cursor.execute(sql) # 获取单条查询数据 ret = cursor.fetchall() cursor.close() return cursor.rownumber def mclose(self): self.conn.close()
#!/usr/bin/python3 # -*- coding: UTF-8 -*- import requests from bs4 import BeautifulSoup import sql import time import html def getpage(conn): pageurl='https://www.xinwentoutiao.net/xinxianshi/' gkr = requests.get(pageurl) gkr.encoding = 'UTF-8' gksoup = BeautifulSoup(gkr.text, "html") article=gksoup.find('ul',attrs={'class':'gv-list'}) li=article.find_all('li') for i in range(0, len(li)): singleurl=li[i].find('div',attrs={'class':'gv-title'}).find("a").get("href") num=msql.ishave("SELECT * from cj_5afxw where url='"+singleurl+"'") if num==0: getsingle(singleurl) sqlstr = "INSERT INTO cj_5afxw(url,insert_time) VALUES ('"+singleurl+"','"+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"');" msql.insert(sqlstr) print(singleurl) else: print(singleurl+"已存在") msql.mclose() def getsingle(url): gkr = requests.get('https://www.xinwentoutiao.net'+url) gkr.encoding = 'UTF-8' gksoup = BeautifulSoup(gkr.text, "html") title=gksoup.find('h1').text content=gksoup.find('div',attrs={'id':'art-body-gl'}) content.find('button').decompose() #content.find('div',attrs={"id": "toc"}).decompose() url = 'http://你的采集接口地址?action=save' data = {'post_title': title,'post_content':content.prettify(),'post_category':505} print(data) r = requests.post(url, data=data) print(r.text) msql=sql.msql('127.0.0.1','数据库名','数据库用户名','数据库密码') msql.conn() getpage(msql) #getsingle("https://www.xinwentoutiao.net/xinxianshi/2164624.html")

采集接口文件在前面的火车头WordPress发布规则写法教程一文中已经分享过了,没有的请自行前往下载。上面的代码需要注意的是:请修改数据表名,我使用的是cj_5afxw,你可以根据上面手动创建的数据表名进行修改。数据库连接信息就不用说了,自己改自己的。

然后将这两个文件放在同一个文件夹中,再去宝塔添加计划任务,选择shell,添加内容 python3 /XXX/XXX/getdata.py设置为每日固定时候执行即可。

使用Python写一个简单的WordPress网站采集程序

使用Python写一个简单的WordPress网站采集程序

通过日志可以查看每次采集的信息。

此文由“快兔兔AI采集器”自动生成,目的为演示采集器效果,若侵权请及时联系删除。

原文链接:https://www.daimadog.com/7325.html

更多内容