python3爬取微信文章

Jul 21, 2017 pm 01:46 PM
python3 artikel reptilia

前提:

python3.4

windows

作用:通过搜狗的微信搜索接口来搜索相关微信文章,并将标题及相关链接导入Excel表格中

说明:需xlsxwriter模块,另程序编写时间为2017/7/11,以免之后程序无法使用可能是网站做过相关改变,程序较为简单,除去注释40多行。

正题:

思路:打开初始Url  --> 正则获取标题及链接  -->  改变page循环第二步  -->  将得到的标题及链接导入Excel

爬虫的第一步都是先手工操作一遍(闲话)

进入上面提到的网址,如输入:“图片识别”,搜索,网址变为“”标红为重要参数,type=1时是搜索公众号,暂且不管,query=‘搜索关键词’,关键词已经被编码,还有一个隐藏参数page=1

当你跳到第二页时可以看到“”

好了,url可以得到了

1 url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page) 

search是要搜索的关键词,用quote()编码即可插入

 

1 search = urllib.request.quote(search)
Salin selepas log masuk

 

page是用来循环的

1 for page in range(1,pagenum+1):
2     url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)
Salin selepas log masuk

完整的url已经得到了,接下来访问url,获得其中的数据(创建opener对象,添加header())

1 import urllib.request
2     header = ('User-Agent','Mozilla/5.0')
3     opener = urllib.request.build_opener()
4     opener.addheaders = [header]
5     urllib.request.install_opener(opener)
6     data = urllib.request.urlopen(url).read().decode()
Salin selepas log masuk

得到页面内容,采用正则表达获取相关数据

1 import re
2     finddata = re.compile('<a target="_blank" href="(.*?)".*?uigs="article_title_.*?">(.*?)</a>').findall(data)
3     #finddata = [('',''),('','')]
Salin selepas log masuk

通过正则获取的数据中存在干扰项(链接:‘amp;’)和无关项(标题:'<...><....>'),用replace()解决

1 title = title.replace('<em><!--red_beg-->','')
2 title = title.replace('<!--red_end--></em>','')
Salin selepas log masuk
1 link = link.replace('amp;','')
Salin selepas log masuk

将处理后的标题和链接保存在列表中

1 title_link.append(link)
2 title_link.append(title)
Salin selepas log masuk

如此搜索的标题和链接都得到了,接下来导入Excel

先创建Excel

1 import xlsxwriter
2 workbook = xlsxwriter.Workbook(search+'.xlsx')
Salin selepas log masuk
3 worksheet = workbook.add_worksheet('微信')
Salin selepas log masuk

将title_link中的数据导入Excel

1 for i in range(0,len(title_link),2):
2     worksheet.write('A'+str(i+1),title_link[i+1])
3     worksheet.write('C'+str(i+1),title_link[i])
4 workbook.close()
Salin selepas log masuk

完整代码:

 1 '''
 2 python3.4 + windows
 3 羽凡-2017/7/11-
 4 用于搜索微信文章,保存标题及链接至Excel中
 5 每个页面10秒延迟,防止被限制
 6 import urllib.request,xlsxwriter,re,time
 7 '''
 8 import urllib.request
 9 search = str(input("搜索微信文章:"))
10 pagenum = int(input('搜索页数:'))
11 import xlsxwriter
12 workbook = xlsxwriter.Workbook(search+'.xlsx')
13 search = urllib.request.quote(search)
14 title_link = []
15 for page in range(1,pagenum+1):
16     url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)
17     import urllib.request
18     header = ('User-Agent','Mozilla/5.0')
19     opener = urllib.request.build_opener()
20     opener.addheaders = [header]
21     urllib.request.install_opener(opener)
22     data = urllib.request.urlopen(url).read().decode()
23     import re
24     finddata = re.compile('<a target="_blank" href="(.*?)".*?uigs="article_title_.*?">(.*?)</a>').findall(data)
25     #finddata = [('',''),('','')]
26     for i in range(len(finddata)):
27         title = finddata[i][1]
28         title = title.replace('<em><!--red_beg-->','')
29         title = title.replace('<!--red_end--></em>','')
30         try:
31             #标题中可能存在引号
32             title = title.replace('&ldquo;','"')
33             title = title.replace('&rdquo;','"')
34         except:
35             pass
36         link = finddata[i][0]
37         link = link.replace('amp;','')
38         title_link.append(link)
39         title_link.append(title)
40     print('第'+str(page)+'页')
41     import time
42     time.sleep(10)
43 worksheet = workbook.add_worksheet('微信')
44 worksheet.set_column('A:A',70)
45 worksheet.set_column('C:C',100)
46 bold = workbook.add_format({'bold':True})
47 worksheet.write('A1','标题',bold)
48 worksheet.write('C1','链接',bold)
49 for i in range(0,len(title_link),2):
50     worksheet.write('A'+str(i+1),title_link[i+1])
51     worksheet.write('C'+str(i+1),title_link[i])
52 workbook.close()
53 print('导入Excel完毕!')
Salin selepas log masuk

 

Atas ialah kandungan terperinci python3爬取微信文章. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya boleh membuat wang dengan menerbitkan artikel di Toutiao hari ini? Bagaimana untuk mendapatkan lebih banyak pendapatan dengan menerbitkan artikel di Toutiao hari ini! Bagaimanakah saya boleh membuat wang dengan menerbitkan artikel di Toutiao hari ini? Bagaimana untuk mendapatkan lebih banyak pendapatan dengan menerbitkan artikel di Toutiao hari ini! Mar 15, 2024 pm 04:13 PM

1. Bagaimanakah anda boleh membuat wang dengan menerbitkan artikel di Toutiao hari ini? Bagaimana untuk mendapatkan lebih banyak pendapatan dengan menerbitkan artikel di Toutiao hari ini! 1. Aktifkan hak dan kepentingan asas: Artikel asal boleh memperoleh keuntungan melalui pengiklanan dan video mestilah asli dalam mod skrin mendatar untuk memperoleh keuntungan. 2. Aktifkan hak 100 peminat: jika bilangan peminat mencecah 100 peminat ke atas, anda boleh mendapat keuntungan daripada tajuk mikro, ciptaan Soal Jawab asal dan Soal Jawab. 3. Menegaskan karya asli: Karya asal termasuk artikel, tajuk mikro, soalan, dsb., dan dikehendaki melebihi 300 patah perkataan. Sila ambil perhatian bahawa jika karya yang diciplak secara haram diterbitkan sebagai karya asli, mata kredit akan ditolak, malah sebarang keuntungan akan ditolak. 4. Ketegakan: Apabila menulis artikel dalam bidang profesional, anda tidak boleh menulis artikel merentas bidang sesuka hati Anda tidak akan mendapat cadangan yang sesuai, anda tidak akan dapat mencapai profesionalisme dan ketepatan kerja, dan sukar untuk menarik peminat. dan pembaca. 5. Aktiviti: aktiviti tinggi,

Berapa lama masa yang diambil untuk mempelajari crawler python Berapa lama masa yang diambil untuk mempelajari crawler python Oct 25, 2023 am 09:44 AM

Masa yang diperlukan untuk mempelajari crawler Python berbeza dari orang ke orang dan bergantung pada faktor seperti keupayaan pembelajaran peribadi, kaedah pembelajaran, masa pembelajaran dan pengalaman. Mempelajari crawler Python bukan sekadar mempelajari teknologi itu sendiri, tetapi juga memerlukan kemahiran mengumpul maklumat yang baik, kemahiran menyelesaikan masalah dan kemahiran kerja berpasukan. Melalui pembelajaran dan latihan berterusan, anda akan berkembang secara beransur-ansur menjadi pembangun perangkak Python yang cemerlang.

Analisis dan penyelesaian kepada masalah biasa perangkak PHP Analisis dan penyelesaian kepada masalah biasa perangkak PHP Aug 06, 2023 pm 12:57 PM

Analisis masalah biasa dan penyelesaian untuk perangkak PHP Pengenalan: Dengan perkembangan pesat Internet, pemerolehan data rangkaian telah menjadi pautan penting dalam pelbagai bidang. Sebagai bahasa skrip yang digunakan secara meluas, PHP mempunyai keupayaan hebat dalam pemerolehan data Salah satu teknologi yang biasa digunakan ialah perangkak. Walau bagaimanapun, dalam proses membangunkan dan menggunakan perangkak PHP, kami sering menghadapi beberapa masalah. Artikel ini akan menganalisis dan memberikan penyelesaian kepada masalah ini dan memberikan contoh kod yang sepadan. 1. Perihalan masalah bahawa data halaman web sasaran tidak dapat dihuraikan dengan betul.

Amalan perangkak Java yang cekap: perkongsian teknik rangkak data web Amalan perangkak Java yang cekap: perkongsian teknik rangkak data web Jan 09, 2024 pm 12:29 PM

Amalan perangkak Java: Cara merangkak data halaman web dengan cekap Pengenalan: Dengan perkembangan pesat Internet, sejumlah besar data berharga disimpan dalam pelbagai halaman web. Untuk mendapatkan data ini, selalunya perlu untuk mengakses setiap halaman web secara manual dan mengekstrak maklumat satu demi satu, yang sudah pasti tugas yang membosankan dan memakan masa. Untuk menyelesaikan masalah ini, orang ramai telah membangunkan pelbagai alat crawler, antaranya Java crawler adalah salah satu yang paling biasa digunakan. Artikel ini akan membawa pembaca memahami cara menggunakan Java untuk menulis perangkak web yang cekap dan menunjukkan amalan melalui contoh kod tertentu. 1. Pangkal reptilia

Tutorial menggunakan PHP untuk merangkak ulasan filem Douban Tutorial menggunakan PHP untuk merangkak ulasan filem Douban Jun 14, 2023 pm 05:06 PM

Memandangkan pasaran filem terus berkembang dan berkembang, permintaan orang ramai terhadap filem juga semakin tinggi. Bagi penilaian filem, Pengkritik Filem Douban sentiasa menjadi pilihan yang lebih berwibawa dan popular. Kadangkala, kami juga perlu melakukan analisis dan pemprosesan tertentu pada ulasan filem Douban, yang memerlukan penggunaan teknologi perangkak untuk mendapatkan maklumat tentang ulasan filem Douban. Artikel ini akan memperkenalkan tutorial tentang cara menggunakan PHP untuk merangkak ulasan filem Douban untuk rujukan anda. Dapatkan alamat halaman filem Douban Sebelum merangkak ulasan filem Douban, anda perlu mendapatkan alamat halaman filem Douban. OK

Merangkak data halaman web dengan cekap: penggunaan gabungan PHP dan Selenium Merangkak data halaman web dengan cekap: penggunaan gabungan PHP dan Selenium Jun 15, 2023 pm 08:36 PM

Dengan perkembangan pesat teknologi Internet, aplikasi Web semakin digunakan dalam kerja dan kehidupan harian kita. Dalam proses pembangunan aplikasi web, merangkak data halaman web adalah tugas yang sangat penting. Walaupun terdapat banyak alat pengikis web di pasaran, alat ini tidak begitu cekap. Untuk meningkatkan kecekapan merangkak data halaman web, kami boleh menggunakan gabungan PHP dan Selenium. Pertama, kita perlu memahami apa itu PHP dan Selenium. PHP adalah kuat

Amalan PHP: merangkak data benteng Bilibili Amalan PHP: merangkak data benteng Bilibili Jun 13, 2023 pm 07:08 PM

Bilibili ialah tapak web video bertubi-tubi yang popular di China, dan ia juga merupakan harta karun, yang mengandungi semua jenis data. Antaranya, data benteng adalah sumber yang sangat berharga, begitu ramai penganalisis dan penyelidik data berharap untuk mendapatkan data ini. Dalam artikel ini, saya akan memperkenalkan penggunaan bahasa PHP untuk merangkak data benteng Bilibili. Kerja penyediaan Sebelum mula merangkak data benteng, kita perlu memasang rangka kerja perangkak PHP Symphony2. Anda boleh masuk melalui arahan berikut

Mulakan perjalanan perangkak Java anda: pelajari kemahiran praktikal untuk merangkak data web dengan cepat Mulakan perjalanan perangkak Java anda: pelajari kemahiran praktikal untuk merangkak data web dengan cepat Jan 09, 2024 pm 01:58 PM

Perkongsian kemahiran praktikal: Ketahui dengan pantas cara merangkak data halaman web dengan perangkak Java Pengenalan: Dalam era maklumat hari ini, kami berurusan dengan sejumlah besar data halaman web setiap hari, dan kebanyakan data ini mungkin betul-betul seperti yang kami perlukan. Untuk mendapatkan data ini dengan cepat, belajar menggunakan teknologi perangkak telah menjadi kemahiran yang diperlukan. Artikel ini akan berkongsi kaedah untuk mempelajari perangkak Java dengan pantas untuk merangkak data halaman web dan melampirkan contoh kod khusus untuk membantu pembaca menguasai kemahiran praktikal ini dengan cepat. 1. Kerja-kerja penyediaan Sebelum mula menulis crawler, kita perlu menyediakan perkara-perkara berikut

See all articles