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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python自动生成采集规则_python 织梦自动采集更新脚本

發(fā)布時間:2024/8/1 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python自动生成采集规则_python 织梦自动采集更新脚本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上次分享過一個自動采集入庫的腳本(phpcms的),有童鞋建議改為表單提交形式,畢竟數(shù)據(jù)庫入庫代碼改動成本比較高,而通過表單post數(shù)據(jù)只 需改下cookie和頻道id就可以運行起來。所以,這次主要利用pycurl模塊和fiddler抓包工具演示下dedecms是如何提交數(shù)據(jù)的。

嘗試過dedecms post數(shù)據(jù)的童鞋可能已經(jīng)發(fā)現(xiàn),織夢post的數(shù)據(jù)跟一般數(shù)據(jù)有些不同,dedecms post數(shù)據(jù)格式是multipart,利用抓包工具你會發(fā)現(xiàn)這樣一串東西:Content-Type: multipart/form-data; boundary=---------------------------249724317605,如:

那么具體該如何提交呢?主要有兩點(post地址、cookie、頻道id之類的問題自己解決):

1,headers增加Content-Type: multipart/form-data,如下圖:

2,通過fiddler把提交的數(shù)據(jù)下載到本地(點擊下圖紅框另存到到本地,編碼不需更改),命名為data.txt.

data = open('data.txt').read(),data直接作為post表單的數(shù)據(jù)即可。

實際上到此為止,你已經(jīng)能夠成功提交了,是不是很簡單。

實際使用中,我們總不能把要更新的文章標題和內(nèi)容寫到txt里,如何把title、content等變成變量?一行代碼即可搞定:

data = data.replace('title@123456',title).replace('content@123456',content)

只要把data.txt文章標題的文字改為'title@123456',內(nèi)容改為'content@123456',然后把他們替換掉即可。下面是完整代碼地址:

# coding:utf-8

import pycurl,StringIO

import sys

reload(sys)

sys.setdefaultencoding('utf8')

headers = [

"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36",

"Cookie:PHPSESSID=a8p9lr4jksj5kh9k3nhjaa5pu7; DedeUserID=1; DedeUserID__ckMd5=0023ecbe319d14d9; DedeLoginTime=1470919547; DedeLoginTime__ckMd5=b05a3b1e5c4bce22",

"Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryS1tN0Ueh3In2YSN8",

]

def curl(url):

c = pycurl.Curl()

c.setopt(pycurl.REFERER, 'http://yourdomain.com/dede/article_add.php?channelid=1')

c.setopt(pycurl.FOLLOWLOCATION, True)

c.setopt(pycurl.MAXREDIRS,5)

c.setopt(pycurl.CONNECTTIMEOUT, 60)

c.setopt(pycurl.TIMEOUT,120)

c.setopt(pycurl.ENCODING, 'gzip,deflate')

# c.setopt(c.PROXY,ip)

c.fp = StringIO.StringIO()

c.setopt(pycurl.URL, url)

c.setopt(pycurl.HTTPHEADER,headers)

c.setopt(pycurl.POST, 1)

c.setopt(pycurl.POSTFIELDS, data)

c.setopt(c.WRITEFUNCTION, c.fp.write)

c.perform()

code = c.getinfo(c.HTTP_CODE)#返回狀態(tài)碼

html = c.fp.getvalue()#返回源代碼

return html

title = 'ITSEO培訓怎么樣'.encode('gbk','ignore')

content = 'TSEO講師 多年excel實戰(zhàn)經(jīng)驗任職某通訊公司seo崗位,長期接觸各類... 關注 私信 夜息 ITSEO創(chuàng)始人 ITSEO創(chuàng)始人,原途牛seo負責人。SEO顧問服務過多個行...'.encode('gbk','ignore')

data = open('data.txt').read()

data = data.replace('title@123456',title).replace('content@123456',content)

print curl('http://yourdomain.com/dede/article_add.php')

總結(jié)

以上是生活随笔為你收集整理的python自动生成采集规则_python 织梦自动采集更新脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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