自动爬取ZiMuZu的内容发布到Wordpress

自动爬取ZiMuZu的内容发布到Wordpress


先说一下大致的步骤. 首先需要模拟浏览器登录网站才能看到相应电影信息, 然后通过正则表达式从网页源代码中筛选出所需要的电影, 最后通过python-wordpress-xmlrpc将信息逐条发布到Wordpress. 以下是代码:

# coding: utf-8
import re
import requests
import datetime
import sys
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods import posts

# python默认ascii编码, 此处强制它为utf-8编码以实现中文输出
reload(sys)
sys.setdefaultencoding('utf8')
# 变量声明
today = str(datetime.date.today())[5:]
yesterday = str(datetime.date.today() + datetime.timedelta(days=-1))[5:]
current = datetime.datetime.now().strftime('%H:%M')
justnow = (datetime.datetime.now() - datetime.timedelta(hours=1)).strftime('%H:%M')
login_url = "http://www.zimuzu.tv/User/Login/ajaxLogin"
today_url = "http://www.zimuzu.tv/today"
head = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"
}
payload = {
    "account": "your_id",
    "password": "your_pwd",
    "remember": 0,
    "url_back": "http://www.zimuzu.tv/"
}
# 登录网页,获取网页源代码
s = requests.session()
login_result = s.post(login_url, headers=head, data=payload)
r = s.get(today_url, headers=head)
# 替换"磁", "驴"
r2 = r.content.replace(u'磁',u'磁力下载链接:').replace(u'驴', u'电驴下载链接:')
# 正则表达式
regexp = ur'''<tr\s.*?day="''' + yesterday + ur'''".*?>\s+
<td\s.*?</td>\s+
<td\s.*?</td>\s+
<td><a\shref=".*?"\starget="_blank">(.*?[\u4e00-\u9fa5]+.*?)</a></td>\s+
<td\sclass="dr_ico">.*?(?:<a\shref="(magnet.*?)"[^>]+>(磁力下载链接:)</a>)?(?:<a\shref="(ed2k.*?)"[^>]+>(电驴下载链接:)</a>)?.*?</td>\s+
<td>(.*?)</td>\s+
<td\s.*?</td>\s+
</tr>
'''
pattern = re.compile(regexp, re.M | re.X)
result = re.findall(pattern, unicode(r2))
# 发布博客
client = Client('https://mvstarblog.wordpress.com/xmlrpc.php', 'your_id', 'your_pwd')
post = WordPressPost()
for item in result:
    post.title = item[0]
    post.content = item[4] + '\n' + item[3] + '\n\n' + item[2] + '\n' + item[1]
    post.id = client.call(posts.NewPost(post))
    post.post_status = 'publish'
    client.call(posts.EditPost(post.id, post))
    print item[0] + ' has been published'

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值