日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux python wps doc 转 txt_耗时一周尝试踩坑,整理了一些Python实用知识点

發(fā)布時間:2024/9/18 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux python wps doc 转 txt_耗时一周尝试踩坑,整理了一些Python实用知识点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

很零碎的知識點(diǎn),有的是踩過的坑,不成系統(tǒng),但是絕對很有用,知道的可以回顧下,不太了解的可以多學(xué)習(xí)下

1、Python連接MySQL加編碼

記得加charset,沒加的話部署Linux服務(wù)器運(yùn)行可能有中文亂碼,已踩坑

2、最好用utf8mb4

很多時候我會用sqlalchemy創(chuàng)建連接數(shù)據(jù)庫引擎,charset用的utf8mb4,原因在于爬取的文本中有表情,utf8不行,同時,數(shù)據(jù)庫、表,編碼也都要保持一致

3、好用的網(wǎng)頁解析庫PyQuery

from?pyquery?import?PyQuery?as?py

覺得好用的原因:

1、語法類似JQuery,好記

2、可以增刪改查html元素,然后下載網(wǎng)頁,這點(diǎn)xpath就比較弱了,下面是我最近用到的一些方法,其他方法可以網(wǎng)上查查

# 爬蟲下載網(wǎng)頁
each_res = requests.get(url).content.decode("utf-8")

# 轉(zhuǎn)為pyquery文檔
doc =?py(each_res)

# 支持Class選擇器,remove用來刪除元素
doc(".site-navbar ul")("li").remove()

# 支持ID選擇器
doc("#search-form").remove()

# 獲取屬性href的值
doc(".pagemenu")("li:first-child")("a").attr["href"]

# 設(shè)置屬性href的值
doc(".pagemenu")("li:first-child")("a").attr("href",?"./")

# 遍歷對象
images_src = doc("img")
for?img in images_src:
??if?py(img).attr["src"]:
? ?print(py(img).attr["src"])

# 添加元素
doc("head").append('\n')

# 清空后在添加
doc(".page-right .item").empty().append("")

# 完美匹配jquery的eq()選擇方法
doc(".article-content")("div:last-child").eq(-1).remove()

# 大招來了,可以將上面增刪改查的文檔,直接寫入html文件,就下載好網(wǎng)頁了
res?= doc.outer_html().encode("utf-8")
with?open("index.html",?"wb")?as?f:
# 寫文件用bytes而不是str,所以要轉(zhuǎn)碼
? ?f.write(res)

4、Linux配置python3環(huán)境、pip軟鏈接

下方分別為解壓安裝,配軟連接,注意配python3和pip的時候,與/usr/bin下面的原本的python2和pip命名區(qū)分,一般情況下別去動python2的軟鏈接,會導(dǎo)致centos包管理工具yum命令出問題

ln?-s /usr/local/py365/bin/python3.6?/usr/bin/python3?
ln?-s /usr/local/py365/bin/pip3 /usr/bin/pip3

5、網(wǎng)站地圖、robots協(xié)議

robots.txt可以告訴搜索引擎網(wǎng)站哪些數(shù)據(jù)能爬,如果你想利于網(wǎng)站排名,盡量少disallow,sitemap.xml網(wǎng)站地圖則是直接提交讓搜索引擎增加收錄,這兩個文件/路徑一般配在網(wǎng)站根目錄下,可以直接寫到nginx加兩個路徑指向就行了,主要用來優(yōu)化網(wǎng)站,利于各加搜索引擎抓取網(wǎng)站信息,增加收錄和網(wǎng)站排名


location /sitemap.xml {
? ?alias?/var/www/chengxuyuan_12_10/sitemap.xml;
}
location /robots.txt {
? ?alias?/var/www/chengxuyuan_12_10/robots.txt;
}

6、Django orm查詢values

比如下方,我在查詢時候只需要文章的id和title數(shù)據(jù),則直接values查這兩個字段就行,這樣可以提高查詢效率

Article.objects.values("id","title")

Q對象進(jìn)行邏輯查詢,也很常用

filter(Q(is_delete=0)&(Q(title__contains=a)|Q(title__contains=b)))

7、直接將一個字典保存mysql(鍵和列名一致)

dic = {"title": title,?"time": arttime,?"auth": auth,?"con":?con}
df = pd.DataFrame.from_dict(dic, orient='index').T
conn = get_local_engine("centos_test")
df.to_sql("這里是表名", conn, if_exists='append',?index=False)

get_local_engine是我定義的一個獲取engine的方法

def?get_local_engine(dbname):
db_flag =?"mysql"
host_ip =?"127.0.0.1"?
host_port =?3306
db_instance = dbname
user =?"root"
pawd =?"*************"?
charset =?"utf8"
engine_config =?'%s%s%s%s%s%s%s%s%s%s%s'?% ('mysql+pymysql://', user,?':', pawd,?'@', host_ip,?':', host_port,?'/', db_instance,?'?charset=utf8')
engine = create_engine(engine_config, encoding=charset, max_overflow=10)
return?engine

8、django admin站點(diǎn)引入富文本編輯器Kindeditor

1、kindeditor安裝包直接放在項目static下面

2、在admin.py中加入這段js

3、kindeditor中config.js改成原本admin文本域的id,如下方截圖圈到的

class?Media:
# 在管理后臺的HTML文件中加入js文件, 每一個路徑都會追加STATIC_URL/
?js = (
? ? 'kindeditor/kindeditor-all.js',
? ? 'kindeditor/lang.zh_CN.js',
? ? 'kindeditor/config.js',
?)

編輯器效果圖

python爬蟲人工智能大數(shù)據(jù)公眾號

總結(jié)

以上是生活随笔為你收集整理的linux python wps doc 转 txt_耗时一周尝试踩坑,整理了一些Python实用知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。