鍍金池/ 問(wèn)答/Python/ Python3爬蟲(chóng)數(shù)據(jù)寫(xiě)入csv

Python3爬蟲(chóng)數(shù)據(jù)寫(xiě)入csv

爬蟲(chóng)文學(xué)網(wǎng)站,獲取了章節(jié)數(shù), 點(diǎn)擊量, 章節(jié)字?jǐn)?shù), 想寫(xiě)入一個(gè)csv文件,可是爬出來(lái)的內(nèi)容和我設(shè)的colum 對(duì)應(yīng)不上, 章節(jié)字?jǐn)?shù)出現(xiàn)在章節(jié)數(shù)和點(diǎn)擊量前面。我想讓它出現(xiàn)在wordcount這個(gè)colum下面。
代碼如下:

import requests
import re
import json
import csv
from bs4 import BeautifulSoup as bs
start_url = "http://www.jjwxc.net/onebook.php?novelid=3601"
res = requests.get(start_url)
res.encoding = "gb2312"
soup = bs(res.text, "html.parser")

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 \
    (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36"}

url = "http://s8-static.jjwxc.net/getnovelclick.php?novelid=3601&jsonpcall\
back=novelclick"
web_data = requests.get(url, headers=headers)
web_data.encoding = "gzip"
result = web_data.content.decode()
string = re.findall(r'({.*?})', result)[0]
tmp_dict = json.loads(string)
wordcount = soup.find_all("td", {"itemprop": "wordCount"})
with open("JJWXC Scraping.csv","w") as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['Chapters','Views', 'Wordcount'])
    for w in wordcount:
        writer.writerow(w)
    for k in tmp_dict.items():
        writer.writerow(k)

打印出來(lái)在csv file 里面顯示這樣:
Chapters,Views,Wordcount
500
2592
819
1720
2862
4862
1988
1559
1069
2570
1812
2441
3549
2841
6222
1485
5002
2330
1795
3620
3969
5120
4943
4892
4818
6707
5014
6140
2553
4587
1,82799
2,73460
3,52374
4,49213
5,46872
6,43722
7,36363
8,36089
9,35938
10,35594
11,32933
12,34381
13,33675
14,31390
15,33825
16,32669
17,30706
18,32187
19,29489
20,31241
21,30233
22,28571
23,30078
24,28894
25,29471
26,29500
27,29411
28,29703
29,31449
30,53456

wordcount出現(xiàn)在所有文章數(shù)和點(diǎn)擊量前面了。

回答
編輯回答
尐飯團(tuán)

csv.writer.writerow() 一次寫(xiě)入一行,你只需要把 wordcount 、文章數(shù)、點(diǎn)擊量 一同寫(xiě)入便可。
像這樣

writer.writerow([1, 30, 1000])
2017年3月12日 19:55