爬取目标网页内容并保存在word

import os
import re
import docx
from docx.shared import RGBColor#设置字体
from docx import Document
from docx.shared import Pt#设置字体
from docx.oxml.ns import qn#设置中文字体
import urllib
import urllib.parse
import urllib.request
import sys
import time
from bs4 import BeautifulSoup

def getHtlm(url):
	page=urllib.request.urlopen(url)
	soup=BeautifulSoup(page)
	e=soup.select('title')
	ee=e[0]
	if ee.string[0:3]!='404':
		return soup
	else :
		return 0

def getHtlmcode(url1):
	htlm=getHtlm(url1)
	if htlm!=0:
		#soup=BeautifulSoup(htlm)
		e=htlm.select('div[class=titArea]')
		ee=e[0]
		eee=ee.select('h2')
		eeee=eee[0]
		#print(eeee.string,end='/n')

		a=htlm.select('div[class=detArea]')
		aa=a[0]
		aaa=aa.select('dd')
		bb=aaa[1].string+':'#.sring
		cc=aaa[3].string #.sring
		gen=eeee.string+':'
		#print(bb.string,end='/n')
		#print(cc.string)
		if cc==None:
			#print(gen+bb)
			return gen+bb
		else:
			#print(gen+bb+cc)
			return gen+bb+cc
			
	else:
		return 0
f=open("企业.txt","r")#将文档和python放在一个目录下无需复杂的路径
i=0
document = Document()#新建word
p = document.add_paragraph('')#新建段落,这句话放在循环外面可以减少空行
while i<3:
	print(i)
	content = f.readline()
	if not content:#判断是否已经是文件末尾
		break
	htlm=getHtlmcode(content)
	time.sleep(1)
	if htlm!=0:
		run = p.add_run(htlm+'\n')#输入关键字之前的字符
		run.font.name=u'宋体' #设置插入的字体
		run.font.size = Pt(15)
		r = run._element
		r.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
		
		i+=1
	'''
	if i==100:
		document.save('路线1.docx')
		document = Document()#新建word
		p = document.add_paragraph('')#100行保存一次
		print(i)
	elif i==200:
		document.save('路线2.docx')
		document = Document()#新建word
		p = document.add_paragraph('')#200行保存一次
		print(i)#定位问题的计数器

document.save('路线1.docx')#关闭保存word
f.close() #关闭TXT
    原文作者:吕景楠
    原文地址: https://blog.csdn.net/weixin_44576802/article/details/88952675
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞