Python自动化操作,批量获取网页源码

import pyautogui as gui
import pyperclip as pc
import pandas.io.clipboard as cb
import os
import time

gui.PAUSE = 1  # 调用在执行动作后暂停的秒数,只能在执行一些pyautogui动作后才能使用,建议用time.sleep
gui.FAILSAFE = True  # 启用自动防故障功能,左上角的坐标为(0,0),将鼠标移到屏幕的左上角,来抛出failSafeException异常

#url地址定位坐标
URL_BAR_X = 300
URL_BAR_Y = 50

#html元素定位坐标
HTML_ELEMEMT_X = 1225
HTML_ELEMEMT_Y = 191

#保存文档目录
SAVE_DIR = "xiaoshuo"

#获取内容
def get_content(url):
    pc.copy(url)
    gui.click(URL_BAR_X,URL_BAR_Y)
    gui.hotkey('ctrl','a')
    gui.hotkey('ctrl','v')
    gui.keyDown('enter')
    time.sleep(1)
    gui.click(HTML_ELEMEMT_X,HTML_ELEMEMT_Y,button='right')
    gui.moveTo(HTML_ELEMEMT_X+60,HTML_ELEMEMT_Y+36)
    gui.mouseDown()
    gui.mouseUp()
    gui.hotkey('ctrl','a')
    gui.hotkey('ctrl','c')
    html =cb.paste()
    return html

#清理内容
def clean_content(html):
    title = html[html.index('<title>')+7:html.index('</title>')]
    str = html[:html.index('<main')]
    body = html.replace(str,'')
    body = body[:body.index('</main>')+7]
    html = "<html><head><title>"+title+"</title></head><body>"+body+"</body></html>"
    return html

#保存内容
def save_content(fname,html):
    if not os.path.exists(SAVE_DIR):
        os.mkdir(SAVE_DIR)
    file = open(SAVE_DIR+'\\'+fname+'.html', 'w', encoding="UTF-8")
    file.write(html)


file = open('urls.txt', encoding='utf-8')
url = file.readline()
i=1
while url:
    print(i)
    html = get_content(url)
    html = clean_content(html)
    save_content(str(i),html)
    url = file.readline()
    i += 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值