跳至主要内容

如何爬取网页?可运行的python脚本

#!/usr/bin/python
#-*-coding:utf-8-*-       #指定编码格式,python默认unicode编码

import json,os,sys
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
import time

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities


def first():
binary = r'C:\Program Files\Mozilla Firefox32\firefox.exe'
options = Options()
options.set_headless(headless=True)
options.binary = binary
cap = DesiredCapabilities().FIREFOX
cap["marionette"] = True #optional

fp = webdriver.FirefoxProfile()
fp.set_preference("permissions.default.stylesheet" ,2)
fp.set_preference("permissions.default.image" ,2)

driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path="C:\\Program Files\\geckodriver-v0.26.0-win64\\geckodriver.exe")
return driver

def readlinkfile(sourcename='tangshisanbaishou.txt'):
with open(sourcename, 'rt', encoding='utf-8') as f:
data = f.read()

all_links = []
mylinks = re.split('\n',data)

for x in mylinks:
all_links.append(x)
f.close()
return all_links

def writeTxtFile(data,outfilename):
with open(outfilename+'.txt', 'wt',encoding='utf-8') as f:
for m in data:
f.write(m+'\n')
f.close()

def writeJsonFile(data,outfilename):
    with open(outfilename+'.json', 'wt',encoding='utf-8') as f:
        for m in data:
            json.dump(m,f,ensure_ascii=False,indent=4)
        f.close()

def writeJsonFileAddEndFile(data,outfilename):
    with open(outfilename+'.json', 'a',encoding='utf-8') as f:
        for m in data:
            json.dump(m,f,ensure_ascii=False,indent=4)
        f.close()



def action(driver,link):
url = "https://so.gushiwen.org" +link
driver.get(url)

booklinks = []
elements = driver.find_elements_by_css_selector(".bookcont a")

title = driver.find_element_by_css_selector("h1").text

# print(elements.text)
for e in elements:
# print(e.get_property('href'))
booklinks.append(e.get_property('href'))

writeTxtFile(booklinks,'./onebooklink/'+ title)


def createLinkList():
driver = first()
links = readlinkfile('gujilinks.txt')

for link in links:
action(driver,link)
# break

driver.quit()

# createLinkList()


def soup(gushiurl):
# assert gushiurl
if not gushiurl:
return
# gushiurl = str("https://***" + gushiurl)
print(gushiurl)

html = urlopen(gushiurl).read().decode('utf-8')
# print(html)

soup = BeautifulSoup(html, features='lxml')

contsons = soup.find_all('div', {"class": "contson"})
title = soup.find_all('h1')

h1= title[0].get_text().replace('\n译注\n\n','')
text = []

for item in contsons:
text.append(item.get_text())

temp= {
'title':h1,
'text':text
}

contents = []
soup = None
contents.append(temp)
return contents


path = "G:\\workspace\\python\\selenium\\guji\\restlinks" #文件夹目录
Files_Global = []

def file_name_walk(file_dir):
    for files in os.listdir(file_dir):
        Files_Global.append(files)  # 当前路径下所有非目录子文件


def getOne(name):
links = readlinkfile('./onebooklink/'+name+'.txt')
for link in links:
contents = soup(link)
writeJsonFileAddEndFile(contents,'./gujisourse/'+name)

def getOne2(name):
print(name)
links = readlinkfile('./restlinks/'+name)
index = 0
for link in links:
time.sleep(0.2)
print(index)
contents = soup(link)
name = name.replace('.txt','')
if contents:
writeJsonFileAddEndFile(contents,'./gujisourse/'+name)
index += 1

def run():

file_name_walk(path)

for name in Files_Global:
print(name)

try:
getOne2(name)
except Exception as e:
raise e


# break

# run()

评论

此博客中的热门博文

6.用好效果规划师,有效提高转化量

用好效果规划师,有效提高转化量 不妨了解如何使用 Google Ads 中最新推出的“效果规划师”这款规划工具,做好周密规划,以取得更理想的广告效果,尽可能提高您在 Google Ads 上所投资金的回报。 1.为什么应该通过效果规划师规划提升广告效果 规划是通过 Google Ads 取得成功的首要步骤 数字营销方兴未艾,可帮助像您这样的企业触达更多客户。通过 每月 提前规划您的 Google Ads 预算,您可以确保在用户需要产品或信息时,将您的广告适时呈现在他们面前,以最大程度提高转化次数和实现关键绩效指标 (KPI)。 通过提前规划 Google Ads 预算,您可以: 了解当前 Google Ads 广告系列的未来支出潜力,以帮助推动预算决策 充分利用季节性因素来抓住增长机会 对所有广告系列设置最佳出价和预算,以确保最大程度提高投资回报率 找到通过 Google Ads 推动销量增长的全新机会 Google Ads 效果规划师是什么? 效果规划师是一款新的预测工具,它使用机器学习技术来揭示 Google Ads 广告系列可能实现的效果。借助此工具,您可以了解当前广告系列未来每月、每季度和每年预算的预测结果,同时提高投资回报率。 效果规划师如何运作? 效果规划师将会确定所有广告系列的最佳出价和平均每日预算分配,以帮助您提高未来支出方案可实现的转化次数。效果规划师使用如下流程: 效果规划师如何预测广告系列的效果? 效果规划师结合使用帐号历史记录和机器学习技术来为预测提供支持。在 Google Ads 工具中,预测必须达到一定的准确度。因此,这些预测的置信区间可能大于其他可用预测工具的置信区间。 预测 Google Search 广告竞价每周囊括数十亿次搜索,可为我们的预测引擎提供支持。 模拟 我们的预测引擎使用查询级别变量模拟相关的广告竞价,这些变量包括季节性、点击率、竞争对手、着陆页和时段。 机器学习 我们使用机器学习技术来微调预测结果,实现更高的准确度。 验证 我们针对数千个广告系列样本执行前向和后向准确度测量(包括 1

设置转化跟踪来实现目标

1. 设定转化跟踪目标 无论企业规模大小,您都可以轻松提升营销工作的效果。但要了解广告效果,您需要对照营销目标衡量数据。只有这样,您才可以继续提高广告系列效率,确保业务的未来增长。 首先确定要达成的目标 首先,必须要明确您希望通过广告达成的特定营销目标。确定目标后,您可以根据这些目标制作广告系列。 设定目标可帮助您通过更精明的调整来提升效果,特别是当您安排了时间反思广告系列的效果并采取相应措施时更是如此。 我们来研究一下 为了帮助我们熟悉转化跟踪的世界,让我们来看几个拥有截然不同的广告系列目标的虚构公司示例。我们将观察他们如何设置转化跟踪来帮助达成他们的目标。 健康与幸福行业广告客户:健康生活 HQ10(短期) 企业主: 阿久 产品: 健身服装和配件 目标: 提高销售额 应用与游戏行业广告客户:冥魔游戏有限公司 企业主: 小安 游戏应用: 冥魔城堡、冥魔之峰 目标: 提高下载量/安装量 大众消费品 (CPG) 行业广告客户:驿站 营销经理: 小珍 产品: 美容化妆品 目标: 提高线上销售额和发掘潜在客户 健康与幸福行业广告客户:健康生活 HQ10(长期) 企业主: 阿久 产品: 健身服装和配件 目标: 增加互动、发掘潜在客户以及提高销售额 认识一下阿久 健康生活 HQ10 的企业主 产品:健身服装与配件 [应用] 归因合作伙伴:Google Play 企业规模:初创阶段 目标:提高销售额 阿久是颇具发展潜力的“健康生活 HQ10”健身服装店的老板。她一直在使用广告系列来提高健身装备的销售额。她已经建立了一个网站。现在,她想利用他们的移动应用促成更多的应用内购买,因为他们的时尚产品的潜在受众主要是千禧一代和年轻买家。她并不关心客户最终是在网站、移动网站还是实体店内转化。她只对提高销售额感兴趣。 认识一下小安 冥魔游戏有限公司的企业主 产品:应用和游戏 应用/网站:冥魔城堡、冥魔之峰 [应用] 归因合作伙伴:Firebase 目标:提高下载量/安装量 冥魔游戏有限公司

5. 采用 Google 展示广告投放最合适的广告内容

采用 Google 展示广告投放最合适的广告内容 了解在制作 Google 展示广告系列时可以使用的各种广告格式,选对广告格式将有助于您向合适的用户投放合适的广告内容。 1. 展示广告格式 在广告宣传中,广告素材是品牌的门面,因此一定要确保广告素材能够很好地体现品牌形象。您选择的广告格式决定着以怎样的形式向受众群体宣传业务。 在本单元中,您将学习如何概括在 Google 展示广告系列中选对广告格式的重要性 为何要选对展示广告格式? 无论用户是在浏览网页、观看 YouTube 视频、查收 Gmail 邮件,还是在使用移动设备和应用,展示广告都可以精准把握投放时机,向他们宣传您的业务。 Google 展示广告有两种策略供您选择,一种能够为您带来更高的效率,一种能够让您对广告素材有更强的控制力。 效率 阿久最看重的莫过于效果。为了取得最好的广告效果,阿久应采用自适应型展示广告,因为这种广告能够根据可用的广告空间自动调整,并且在原生和非原生广告资源中均可投放。 控制力 阿久非常看重品牌塑造。由于她对于广告的投放形式和位置有确切的要求,因此自行制作广告并上传或许是最佳选择。选择这种方法可能会限制广告的覆盖面,因为就可覆盖的广告资源数量来讲,上传的广告不及自适应型展示广告。 2. 自适应型展示广告 自适应型展示广告是 Google 的招牌展示广告格式,也是制作展示广告系列时默认的广告类型。这种广告代表着基于素材资源的数字广告未来的发展方向。 在本单元中,您将学习如何解释什么是自适应型展示广告。 什么是自适应型展示广告? 采用自适应型展示广告格式时,您可以上传自己的素材资源,制作出的广告可以投放到所有尺寸的广告位中,包括原生广告资源和非原生广告资源中的广告位。您只需上传自己的素材资源(图片、视频、标题、徽标和广告内容描述)即可,Google 将自动制作广告。自适应型展示广告效果好、覆盖面大且可发挥规模效应。 主要优势 自适应型展示广告不只外观好,效果也好。平均而言,广告主在图片广告系列中添加自适应型展示广告后,在每次转化费用 (CPA) 基本不变的情况下,转化次数往往会提高 50%。