优采云采集程序是收费的,不能用的是什么?
优采云 发布时间: 2021-03-23 22:27优采云采集程序是收费的,不能用的是什么?
关于网站 采集,我想每个人都知道著名的优采云 采集软件,但是优采云 采集程序需要付费,许*敏*感*词*无法使用,您需要手动单击采集 ],有点辛苦。 优采云当然不喜欢每天点击我自己的。 Python是每台Linux服务器随附的程序环境。不使用它太浪费了。它不符合我提倡的勤俭节约的精神。以随机新闻采集电台为例,只需共享采集程序即可。
首先,为了避免重复采集,我们需要使用MySQL数据库,这并不麻烦,因为网站环境必须安装此数据库。 Python使用的3. X版本,默认为2. 7版本,如果代码报告错误,请升级您的Python。教程参考:Centos 7. X将默认Python升级到3. X并安装pip3扩展管理
以下程序需要安装请求,BeautifulSoup和pymysql扩展。如果您无法安装它们,请参阅我前面的文章或如何在百度上安装python扩展。
数据库结构
使用Python编写一个简单的WordPress 网站 采集程序
使用手写代码,我没有写数据库的创建。自己手动创建它。可视化phpmyadmin操作应该很容易。只需注意id字段即可。 A_I选择框需要选中,即它将自动增长。
源数据库操作sql.py
#!/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()
主程序getdata.py(编写任何内容,以后请注意计划任务的名称)
#!/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,可以根据上面手动创建的数据表名称进行修改。不用说,数据库连接信息,请自行更改。
然后将这两个文件放在同一文件夹中,转到宝塔以添加计划的任务,选择外壳程序,然后添加内容python3 /XXX/XXX/getdata.py可以设置为在固定时间执行每天。
使用Python编写一个简单的WordPress 网站 采集程序
您可以通过日志查看每个采集的信息。