mirror of
https://github.com/ershisan99/scrape-icp.git
synced 2025-12-18 05:09:32 +00:00
try another url
This commit is contained in:
16
src/index.ts
16
src/index.ts
@@ -1,5 +1,5 @@
|
|||||||
import { chromium, type Page } from 'playwright'
|
import { chromium, type Page } from 'playwright'
|
||||||
import { type Browser, expect } from '@playwright/test'
|
import { type BrowserContext, expect } from '@playwright/test'
|
||||||
import { Markup, Telegraf } from 'telegraf'
|
import { Markup, Telegraf } from 'telegraf'
|
||||||
import dotenv from 'dotenv'
|
import dotenv from 'dotenv'
|
||||||
import { type InputFile } from 'telegraf/types'
|
import { type InputFile } from 'telegraf/types'
|
||||||
@@ -7,8 +7,8 @@ import { message } from 'telegraf/filters'
|
|||||||
import cron from 'node-cron'
|
import cron from 'node-cron'
|
||||||
|
|
||||||
dotenv.config()
|
dotenv.config()
|
||||||
const url = 'https://google.com'
|
// const url = 'https://google.com'
|
||||||
// const url = 'https://icp.administracionelectronica.gob.es/icpplustiem/citar?p=28&locale=es&appkey=null'
|
const url = 'https://icp.administracionelectronica.gob.es/icpplustiem/citar?p=28&locale=es&appkey=null'
|
||||||
const { NIE, NAME, COUNTRY_CODE } = process.env
|
const { NIE, NAME, COUNTRY_CODE } = process.env
|
||||||
const NO_APPOINTMENT = 'no hay citas disponibles'
|
const NO_APPOINTMENT = 'no hay citas disponibles'
|
||||||
const delay = async (ms: number) => await new Promise(resolve => setTimeout(resolve, ms))
|
const delay = async (ms: number) => await new Promise(resolve => setTimeout(resolve, ms))
|
||||||
@@ -78,7 +78,7 @@ const step4 = async (page: Page) => {
|
|||||||
await sendScreenshot(bot, page, 'step 4')
|
await sendScreenshot(bot, page, 'step 4')
|
||||||
}
|
}
|
||||||
|
|
||||||
const step5 = async (page: Page, browser: Browser) => {
|
const step5 = async (page: Page, browser: BrowserContext) => {
|
||||||
try {
|
try {
|
||||||
if (await page.getByText(NO_APPOINTMENT).count() > 0) {
|
if (await page.getByText(NO_APPOINTMENT).count() > 0) {
|
||||||
await sendScreenshot(bot, page, 'step 5 failed')
|
await sendScreenshot(bot, page, 'step 5 failed')
|
||||||
@@ -103,7 +103,7 @@ const step6 = async (page: Page) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const scrape = async () => {
|
const scrape = async () => {
|
||||||
const browser = await chromium.launch({
|
const chr = await chromium.launch({
|
||||||
timeout: 200000,
|
timeout: 200000,
|
||||||
logger: {
|
logger: {
|
||||||
isEnabled: (name, severity) => name === 'browser',
|
isEnabled: (name, severity) => name === 'browser',
|
||||||
@@ -111,6 +111,12 @@ const scrape = async () => {
|
|||||||
log: (name, severity, message, args) => { console.log(`${name} ${message}`) }
|
log: (name, severity, message, args) => { console.log(`${name} ${message}`) }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
const browser = await chr.newContext({
|
||||||
|
geolocation: { longitude: -3.703790, latitude: 40.416775 },
|
||||||
|
userAgent: 'Chrome/91.0.4472.77',
|
||||||
|
timezoneId: 'Europe/Madrid',
|
||||||
|
locale: 'es-ES'
|
||||||
|
})
|
||||||
try {
|
try {
|
||||||
const page = await browser.newPage()
|
const page = await browser.newPage()
|
||||||
console.log('scraping...')
|
console.log('scraping...')
|
||||||
|
|||||||
Reference in New Issue
Block a user