CSDN文章の抽出
2875 ワード
文章の最初の住所:沧月の二福君の個人のブログが好きです
title:CSDN文章爬取date:2019-06-09 13:17:26 tags:
けいかく
先日、個人ブログを新規作成したので、csdnのブログをここに移行しようとしましたが、ワンタッチ移行機能がうまく使えなかったので、思いついたので、直接登って、再送時間:3時間予想結果:ブログ記事をローカルに保存
インプリメンテーションプロセス
使用するテクノロジー
python言語で完了し、pyqueryライブラリを使用してスクロールします.
エンコーディング
article = doc('.blog-content-box')
#
title = article('.title-article').text()
#
content = article('.article_content')
dir = "F:/python-project/SpiderLearner/CSDNblogSpider/article/"+title+'.txt'
with open(dir, 'a', encoding='utf-8') as file:
file.write(title+'
'+content.text())
urls = doc('.article-list .content a')
return urls
for i in range(3):
print(i)
main(offset = i+1)
完全なコード
#!/usr/bin/env python
# _*_coding:utf-8 _*_
#@Time :2019/6/8 0008 11:00
#@Author : ([email protected])
#@FileName: CSDN.py
#@Software: PyCharm
import requests
from pyquery import PyQuery as pq
def find_html_content(url):
headers = {
'User-Agent': 'Mozilla/5.0(Macintosh;Inter Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gerko) Chrome/52.0.2743.116 Safari/537.36'
}
html = requests.get(url,headers=headers).text
return html
def read_and_wiriteblog(html):
doc = pq(html)
article = doc('.blog-content-box')
#
title = article('.title-article').text()
content = article('.article_content')
try:
dir = "F:/python-project/SpiderLearner/CSDNblogSpider/article/"+title+'.txt'
with open(dir, 'a', encoding='utf-8') as file:
file.write(title+'
'+content.text())
except Exception:
print(" ")
def geturls(url):
content = find_html_content(url)
doc = pq(content)
urls = doc('.article-list .content a')
return urls
def main(offset):
url = ' ' + str(offset)
urls = geturls(url)
for a in urls.items():
a_url = a.attr('href')
print(a_url)
html = find_html_content(a_url)
read_and_wiriteblog(html)
if __name__ == '__main__':
for i in range(3):
print(i)
main(offset = i+1)
転載先:https://www.cnblogs.com/miria-486/p/10993272.html