python 头条发表文章_用python3.5逛看今日头条

news/2025/2/13 15:45:12/

环境:

win10 64位

python3.5.2

相关库

urllib

pymysql

json

爬文章入口

(ps:图片来自网络)

接触python,发现python真是一门让人上瘾的语言,简单好用效率高.

不多说,直接看要做什么吧.每天看头条也是一种乐趣,当想看同一类型的头条新闻时,可以直接搜索关键字,突然间对这个搜索接口感兴趣了,为什么不把这些搜到的文章存下来然后想什么时候看就什么时候看呢?

打开头条搜索F12看看它的网络请求.

参数

offset=40&format=json&keyword=%E7%A8%8B%E5%BA%8F%E5%91%98&autoload=true&count=20&cur_tab=1

用代码构造参数,模拟请求

#构造请求参数,模拟请求

def get_index_page(offset, keyword):

query_data = {

'offset': offset,

'format': 'json',

'keyword': keyword,

'autoload': 'true',

'count': 20, # 每次返回 20 篇文章

'cur_tab': 1

}

params = urlencode(query_data)

# 头条搜索api基础入口

base_url = 'http://www.toutiao.com/search_content/'

url = base_url + '?' + params

print(url)

try:

response = requests.get(url)

if response.status_code == 200:

#print(response.text)

return response.text

return None

except RequestException:

print("页面索引出错,url")

return None

用print看看返回的结果是啥,分析请求结果(ps:每次写爬虫的时候总是觉得分析这个请求结果是最费时间的,但有时最关键的,每次还要对着页面去查这些字段的意义)

找到一些想要要的信息,关键是title,article_url

# 解析数据,获取想要的数据

def parse_index_page(html):

params = []

data = json.loads(html)

datas = data['data']

for item in datas:

if 'title' in item:#文章标题

title = item['title']

if 'source' in item:#资源归属

source = item['source']

if 'article_url' in item:#资源链接

url = item['article_url']

if 'share_url' in item:#分享链接,可作资源链接用

share_url = item['share_url']

if 'keywords' in item:#所属关键词

keyword = item['keywords']

if 'comment_count' in item:#评论数

countgood = item['comment_count']

if 'has_video' in item:#是否是视频链接

has_video = item['has_video']

params.append([title, source, url, share_url, keyword, countgood, has_video])

return params

已经拿到一些数据了,要对数据进行储存

使用的pymysql库进行MySQL数据库操作

# 需要指定编码集,不然会出异常!!!(很重要)

db = pymysql.connect("localhost", "用户名", "密码", "数据库名称", use_unicode=True, charset='utf8')

cursor = db.cursor()

#储存至数据库

def save_data(params):

try:

sql = 'INSERT INTO toutiao_python VALUES (%s,%s,%s,%s,%s,%s,%s)'

# 批量插入数据库

cursor.executemany(sql, params)

db.commit()

except Exception as e:

print(e)

db.rollback()

之前直接的想法是查到一条数据储存一条数据,发现效率太低了,仔细想了下,这么好用的语言不可能不能批量储存数据,仔细找了下api 发现cursor.executemany(sql, params)这个方法能批量储存数据,效率提升很多.

最后开个多线程来加快爬虫效率

# 指定搜索的参数offset范围为[CRAWLER_GO*20,(CRAWLER_END+1)*20]

CRAWLER_GO = 1

CRAWLER_END = 50

# 搜索关键字,可以改变

# 开启多线程

if __name__ == '__main__':

pool = Pool()

group = [x * 20 for x in range(CRAWLER_GO, CRAWLER_END + 1)]

pool.map(main, group)

pool.close()

pool.join()

运行结果


http://www.ppmy.cn/news/837874.html

相关文章

python爬取今日头条_使用python-aiohttp爬取今日头条

原博文 2018-01-24 22:01 − http://blog.csdn.net/u011475134/article/details/70198533 原出处 在上一篇文章《使用python-aiohttp爬取网易云音乐》中,我们给自己的微信公众号添加了在线点歌的功能,这次我们再增加一个新闻浏览的功能。由于我平时...…

今日头条中生活领域范围详解,怎样提高垂直度?

简介:今日头条中认证是生活领域创作者的不在少数,作者本人便是,但是很多生活领域的朋友在创作或者回答悟空问答的时候根本找不到写作的方向,更有为数不少的人不知道生活领域包含什么?今天我就来解答一下大家的疑惑,教 …

别人可以在今日头条发文章赚钱,为什么你赚不到呢?

互联网的发展日新月异,很多小伙伴现在都已经知道在今日头条自媒体平台上发布文章或者视频是可以赚钱的,那么究竟该怎么在今日头条赚钱,为什么我发布了很多东西,却一直没有赚到钱,问题大概就出在这两个方面!…

今日头条在线检测文章原创度,保障创作独特性!

近年来,随着自媒体的兴起,越来越多的人选择写作并通过网络发表。而在众多自媒体平台中,今日头条成为了许多人的首选。但是,随着自媒体行业的不断发展,文章抄袭、剽窃等问题也日益严重。为了保证文章质量和原创性&#…

PHP头条爬虫,今日头条爬虫分析-爬取用户发的所有内容

今日头条的用户页数据爬取跟频道页的数据爬取大部分很类似,但稍微有一点不一样,就是用户主页的接口signature有点不一样,需要将当前爬取的用户id和分页时间戳一起作为入参传递进去才能获取到真正的signature,除了这一点差异外其他…

今日头条文章评论链接

文章链接: http://www.toutiao.com/a6444291448531583245/ 评论链接: http://is.snssdk.com/article/v2/tab_comments/?version_code6.1.9&app_namenews_article&vid&device_id9654505970&channelApp%20Store&resolution640*113…

今日头条阅读量怎么刷_自动刷今日头条阅读量 头条号自己刷阅读量

什么时间段发头条更容易有很多阅读量和推荐量? 谢邀请,首先我不会像其他博主一样粘贴复制蹭浏览量。我讲的都是属于自己的干货。 首先要看你属于什么领域,如果你是写情歌、美文这类文章,适合早上8:00点发送,如果你属于时尚,生活、影视、这类文章,适合晚上6:30左右,其他…

Linux 用户与权限之修改权限控制

您的“关注”和“点赞”,是认可,是支持,是动力。 如意见相佐,可留言。 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。 本文首发在IT羊资源网。 《IT羊资源网》,网址:https://…