Anti-capture method and system for protecting text data

By generating out-of-order fonts and out-of-order character strings, randomly processing the original glyphs and superimposing noisy text, the problem of difficult robot crawling in the prior art is solved, and the security protection and readability of text data is achieved.

CN120266115APending Publication Date: 2025-07-04帕尔萨·索托德·尼亚
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202380081561.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-10-01
Filing Date
2023-05-10
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The prior art is difficult to effectively resist robot crawling tools that mimic human requests, and traditional detection methods are easily bypassed, resulting in text data being crawled efficiently and inexpensively.

Method used

By generating out-of-order fonts and out-of-order strings, the original glyphs are randomly processed to generate out-of-order glyphs, and random patterns are superimposed to ensure that the text data is readable when displayed but not recognizable when copied. It uses out-of-order processing and noisy text to prevent crawling.

Benefits of technology

Effectively prevent text data from being crawled manually or based on AI, maintain data readability while preventing copying, avoid increasing storage burden, and improve anti-crawling capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120266115A_ABST
    Figure CN120266115A_ABST
Patent Text Reader

Abstract

The invention discloses an anti-capture method for protecting text data. The text data comprises an original character string. The anti-capturing method comprises the following steps: receiving a request of a user for sending an original character string; in response to a received user request, generating an out-of-order font based on the original font; generating an out-of-order character string from the original character string according to the out-of-order font; and sending the out-of-order fonts and the out-of-order character strings to the user. The original font comprises a plurality of font characters and a plurality of original fonts. The out-of-order character string is different from the original character string.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to anti-scraping methods, and more particularly to protecting text data from being scraped by robots. Background Art

[0002] Many websites contain a large amount of valuable text data and information, which are related to aspects such as commercial interests and production costs. Therefore, although the content of these websites is publicly available to ordinary users, it is still necessary to prevent it from being scraped (for example, being scraped by robots to obtain all the information on the website at extremely low cost within a short period of time). Online book publishers, search engines, social networks, scientific journals, online academic platforms, analysis websites, online stores, news agencies, and knowledge bases all belong to such websites. Although they disclose information, they still adopt various mechanisms to protect their content from large-scale machine requests from a single source.

[0003] Currently, web servers usually detect suspicious behaviors based on the differences in web page interaction behaviors between humans and machines [U.S. Patent Nos. 9,906,514B1, 11,140,235B1, and 11,356,433B2]. For example, the request volume of a machine within a unit time may far exceed the normal request volume of human interaction with the website. If the request volume from a certain source is abnormal, the server may adopt various mechanisms to detect the request source and block its subsequent requests. In some cases, continued operation requires identification through a security image or a CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart). However, if a machine sends requests with the standard configuration of a well-known browser, randomly pauses between consecutive requests, and the request volume within a unit time highly mimics human behavior, traditional robot scraping detection algorithms may fail. In addition, if a machine sends requests to a website from random IP addresses through proxies, these requests may be hidden among the massive requests of real users.

[0004] Therefore, there is a need for an anti-scraping method and system that can effectively resist scraping tools that mimic normal human requests. At the same time, there is also a need for an anti-scraping method and system that can protect text information from being scraped regardless of the characteristics of the scraping tools. Summary of the Invention

[0005] This abstract is intended to outline the technical subject matter of this patent. It is neither used to define the necessary technical features or key elements of the subject matter, nor to limit the scope of the claimed embodiments. The actual scope of protection of this patent should be determined in combination with the following specific embodiments, the description of the drawings, and the content of the claims.

[0006] In one general aspect, the present disclosure describes an exemplary anti-scraping method for protecting text data. The exemplary text data may include an original string. The exemplary anti-scraping method may include: receiving a user request to send the original string; in response to the received user request, generating a scrambled font based on the original font; generating a scrambled string from the original string according to the scrambled font; and sending the scrambled font and the scrambled string to the user. The exemplary original font may include a plurality of font characters and a plurality of original glyphs. The exemplary scrambled string may be different from the original string.

[0007] In an exemplary embodiment, generating the scrambled font may include: randomly scrambling the plurality of original glyphs to generate a plurality of scrambled glyphs. The exemplary scrambled font may include the plurality of font characters and the plurality of scrambled glyphs.

[0008] The exemplary anti-scraping method may further include: randomly generating a pattern and superimposing the pattern on the glyph string. The exemplary glyph string may represent the scrambled string. In an exemplary embodiment, each glyph in the glyph string may include a corresponding scrambled glyph among the plurality of scrambled glyphs.

[0009] The exemplary anti-scraping method may further include: randomly generating a plurality of patterns and respectively superimposing each pattern on a corresponding one of the plurality of scrambled glyphs. The exemplary anti-scraping method may further include displaying the scrambled string on a display unit using the scrambled font. The exemplary anti-scraping method may further include extracting text data from a HyperText Markup Language (HTML) document.

[0010] Those of ordinary skill in the art will understand or appreciate other exemplary systems, methods, features, and advantages of these embodiments after reading the following drawings and detailed description. All such additional systems, methods, features, and advantages should be included in this specification and this summary, fall within the scope of protection of the embodiments, and be protected by the claims herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings of this patent illustrate one or more embodiments consistent with the technical solutions of the present invention in an exemplary and non-limiting manner. In each drawing, elements that are the same or functionally similar are labeled with a unified reference numeral.

[0012] Figure 1 A flowchart showing an anti-scraping method for protecting text data, which is consistent with one or more exemplary embodiments of the present disclosure.

[0013] Figure 2 A schematic diagram showing the generation of a scrambled font based on an original font, which is consistent with one or more exemplary embodiments of the present disclosure.

[0014] Figure 3AA schematic diagram showing multiple patterns, which is consistent with one or more exemplary embodiments of the present disclosure.

[0015] Figure 3B A schematic diagram showing a glyph string with multiple patterns superimposed thereon, which is consistent with one or more exemplary embodiments of the present disclosure.

[0016] Figure 4 A high-level functional block diagram of a computer system, which is consistent with one or more exemplary embodiments of the present disclosure. Detailed Description

[0017] In the following detailed description, numerous specific examples will be set forth to illustrate the related technical solutions, so as to provide a thorough understanding of the teachings of the present technology. However, it should be understood that the teachings of the present technology can be implemented even without these specific details. In other cases, well-known methods, steps, elements, and / or circuit systems are described only in a relatively general manner to avoid unnecessarily obscuring the essence of the teachings of the present technology, without providing detailed explanations.

[0018] This detailed description is intended to enable those skilled in the art to implement and apply the methods and apparatuses disclosed in the exemplary embodiments of the present disclosure. For the sake of explanation, a specific terminology system is adopted herein to thoroughly understand the content of the present disclosure. However, those skilled in the art should know that it is not necessary to follow the specific details when implementing these exemplary embodiments. The specific exemplary embodiments described herein are only representative examples. Those skilled in the art can easily make various modifications to the exemplary embodiments, and the general principles defined herein can be applied to other embodiments and application fields without departing from the scope of the present disclosure. The present disclosure is not limited to the disclosed embodiments, but should be given the broadest possible scope consistent with the principles and features disclosed herein.

[0019] Disclosed herein are an exemplary method and system for protecting text data from scraping (i.e., unauthorized collection of text data). The exemplary method can scramble the original text font when a request to send data to an exemplary user is received. In this way, the exemplary text data will be transmitted to the user in a scrambled font form. However, the exemplary method can generate scrambled glyphs based on the exemplary original font, so that the exemplary text data can still be presented to the user in the graphical form of the original text. Therefore, the exemplary user can normally read and understand the exemplary text data, but if the exemplary text data is copied or transmitted to other places, the transmitted text will appear as an unrecognizable scrambled string. Since the exemplary method randomly generates a scrambled font each time a user request is received, it is difficult (and costly) for a scraping tool to restore the original text after obtaining the scrambled text. Thus, the method can protect the exemplary text data from manual scraping or scraping based on artificial intelligence (AI).

[0020] Figure 1 The figure shows a flowchart of an anti-scraping method for protecting text data, which is consistent with one or more exemplary embodiments of the present disclosure. Exemplary text data may include an original string. The exemplary anti-scraping method 100 may include: receiving a request from a user to send an original string (step 102); in response to the received user request, generating a scrambled font based on the original font (step 104); generating a scrambled string from the original string according to the scrambled font (step 106); and sending the scrambled font and the scrambled string to the user (step 108). The exemplary scrambled string may be different from the original string.

[0021] In an exemplary embodiment, step 102 may include receiving a request from a user to send an original string. In an exemplary embodiment, a "string" may refer to a sequence composed of letters, numbers, or other symbols, and these characters can be written, printed, or displayed in different fonts. For example, "dcba" is a string containing four English letters. An exemplary user may request access to a database that may contain text data. In an exemplary embodiment, the user's request may be received by a processor capable of accessing the database. For example, the user may click on a website link containing text, so that the exemplary processor receives the user request in step 102 to provide the user with access to the website. In an exemplary embodiment, if the user obtains database access rights, the original string may be processed and the processing result may be sent to the user, as described below. For example, the web page content may be sent to the user by displaying the web page on a display unit accessible to the user.

[0022] For further description of step 104, Figure 2A schematic diagram showing the generation of a scrambled font based on an original font, which is consistent with one or more exemplary embodiments of the present disclosure. In an exemplary embodiment, step 104 may include generating a scrambled font 202 based on the original font 204 in response to a received user request. In an exemplary embodiment, "font" may refer to the graphical representation of characters. Each exemplary font may include different glyphs, font sizes, weights, colors, or designs. In an exemplary embodiment, "original font" may refer to a font with conventional features (such as glyphs, font sizes, weights, colors, or designs) that can be used to represent the visual form of each character in the original string. In an exemplary embodiment, the original font 204 may include a plurality of font characters 206, and these characters may be arranged in a font structure in a conventional format. Each exemplary character in the original string may be composed of a corresponding font character among the plurality of font characters 206. For example, in the original string "dcba", the character "d" may be composed of the fourth font character 208 among the plurality of font characters 206, the character "c" may be composed of the third font character 210 among the plurality of font characters 206, the character "b" may be composed of the second font character 212 among the plurality of font characters 206, and the character "a" may be composed of the first font character 214 among the plurality of font characters 206.

[0023] In an exemplary embodiment, the original font 204 may further include a plurality of original glyphs 216. In an exemplary embodiment, "glyph" may refer to a specific shape, design, or representation of a character. The nth original glyph among the plurality of original glyphs 216 may be used to represent the nth font character among the plurality of font characters 206 (where 1 ≤ n ≤ N, and N is the total number of the plurality of font characters 206). Specifically, the first original glyph 218 among the plurality of original glyphs 216 may correspond to the first font character 214, the second original glyph 220 among the plurality of original glyphs 216 may correspond to the second font character 212, the third original glyph 222 among the plurality of original glyphs 216 may correspond to the third font character 210, and the fourth original glyph 224 among the plurality of original glyphs 216 may correspond to the fourth font character 208.

[0024] In an exemplary embodiment, the process of generating the scrambled font 202 in step 104 may include: generating a plurality of scrambled glyphs 226 by randomly scrambling a plurality of original glyphs 216. To this end, in an exemplary embodiment, a plurality of original glyphs 216 may be randomly scrambled to obtain a new random font arrangement combination. In an exemplary embodiment, different scrambling algorithms may be used to process a plurality of original glyphs 216. For example, the Fisher-Yates shuffle algorithm may be used to obtain a plurality of scrambled glyphs 226 from a plurality of original glyphs 216. After the plurality of original glyphs 216 are rearranged, a plurality of scrambled glyphs 226 can be formed. In an exemplary embodiment, the scrambled font 202 may include a plurality of font characters 206 and a plurality of scrambled glyphs 226. The exemplary nth scrambled glyph among the plurality of scrambled glyphs 226 correspondingly represents the nth font character. Specifically, the first scrambled glyph 228 among the plurality of scrambled glyphs 226 may correspond to the first font character 214, the second scrambled glyph 230 among the plurality of scrambled glyphs 226 may correspond to the second font character 212, the third scrambled glyph 232 among the plurality of scrambled glyphs 226 may correspond to the third font character 210, and the sixth scrambled glyph 234 among the plurality of scrambled glyphs 226 may correspond to the sixth font character 206.

[0025] In an exemplary embodiment, step 106 may include generating a scrambled string from the original string based on the scrambled font 202. The specific generation logic of the exemplary scrambled string is as follows: when the ith character in the original string is equal to the jth font character among the plurality of font characters 206, and the jth original glyph among the plurality of original glyphs 226 is equal to the nth scrambled glyph (where 1 ≤ i ≤ M, 1 ≤ j ≤ N, and M is the length of the original string), then the ith character is replaced with the nth font character to generate a scrambled string. In other words, if the ith character in the original string is the same as the jth font character (which can be represented by the jth original glyph in the original font 204), and the jth original glyph is the same as the nth scrambled glyph, then the ith character in the original string can be replaced with the nth font character to generate a scrambled string. Thus, in an exemplary embodiment, the original string and the scrambled string may be represented by the same glyph string. For example, the original string "dcba" can be converted into a scrambled string in the following manner.

[0026] Referring Figure 2 , in an exemplary embodiment, the first character "d" in the string "dcba" may correspond to the fourth font character 208, and the fourth font character 208 may be represented by the fourth original glyph 224 in the original font 204. At the same time, in an exemplary embodiment, the fourth original glyph 224 may correspond to the sixth scrambled glyph 234. Therefore, in an exemplary embodiment, the first character "d" of the string "dcba" will be replaced with the sixth font character 236 (i.e., the character "f").

[0027] In an exemplary embodiment, the second character "c" in the string "dcba" may correspond to the third font character 210, and the third font character 210 may be represented by the third original glyph 222 in the original font 204. Meanwhile, in the exemplary embodiment, the third original glyph 222 may correspond to the second scrambled glyph 230. Therefore, in the exemplary embodiment, the second character "c" of the string "dcba" will be replaced with the second font character 212 (i.e., the character "b").

[0028] In an exemplary embodiment, the third character "b" in the string "dcba" may correspond to the second font character 212, and the second font character 212 may be represented by the second original glyph 220 in the original font 204. Meanwhile, in the exemplary embodiment, the second original glyph 220 may correspond to the first scrambled glyph 228. Therefore, in the exemplary embodiment, the third character "b" of the string "dcba" will be replaced with the first font character 214 (i.e., the character "a").

[0029] In an exemplary embodiment, the fourth character "a" in the string "dcba" may correspond to the first font character 214, and the first font character 214 may be represented by the first original glyph 218 in the original font 204. Meanwhile, in the exemplary embodiment, the first original glyph 218 may correspond to the third scrambled glyph 232. Therefore, in the exemplary embodiment, the fourth character "a" of the string "dcba" will be replaced with the third font character 210 (i.e., the character "c").

[0030] Based on the above description, in an exemplary embodiment, the original string "dcba" may be converted into the scrambled string "fbac". In the exemplary embodiment, when displayed using the scrambled font 202, the scrambled string "fbac" will be presented as "dcba" (implemented by a plurality of scrambled glyphs 226), which is exactly the same as the effect of displaying the original string "dcba" using the original font 204 (implemented by a plurality of original glyphs 216).

[0031] In an exemplary embodiment, step 108 may include sending the scrambled font 202 and the scrambled string to the user. At this time, what the user obtains is the content of the scrambled string presented by the scrambled font 202. In an exemplary embodiment, the anti-scraping method 100 may further include using the scrambled font 202 to display the scrambled string on the display unit, so as to ensure that the user can read the text data normally while effectively preventing the exemplary text data from being scraped. For example, when the user tries to copy the original string "dcba" (for example, select the string in a website and select the "Copy" command), what is actually copied will be the scrambled string "fbac", because "dcba" is only the visual representation of the scrambled string. Therefore, whether the text is transmitted manually or based on artificial intelligence (AI), the text processed by the anti-scraping method 100 will become unrecognizable, thus protecting the security of the original text. In addition, different from encryption algorithms that increase the text volume, using the anti-scraping method 100 to protect the text will not change the data volume of the protected text. Therefore, in an exemplary embodiment, a system (such as a web server) can effectively use the anti-scraping method 100 to protect a large amount of text data without bringing an additional storage burden to the system.

[0032] In an exemplary embodiment, the anti-scraping method 100 may further include randomly generating a pattern. The exemplary pattern can be implemented by randomly generating a pixel array within an area of the size of the scrambled string. In an exemplary embodiment, different random number generation methods can be used to determine each pixel value, and the generated random numbers can be mapped to the brightness values of the corresponding pixels (for example, mapping 0 to a black pixel and 1 to a white pixel).

[0033] In an exemplary embodiment, the anti-scraping method 100 may further include superimposing the randomly generated pattern on the glyph string representing the scrambled string. In an exemplary embodiment, each glyph in the glyph string may include the corresponding scrambled glyph among the multiple scrambled glyphs 226. By adding the pixel values represented by the glyph string and the corresponding pixel values of the exemplary pattern 302, the superimposition of the exemplary pattern 302 and the exemplary glyph string can be achieved. In an exemplary embodiment, in this way, the exemplary pattern can change the glyph string from regular text to noise text, making the original text difficult to recognize, thus effectively preventing scraping based on image processing technologies such as optical character recognition (OCR). In an exemplary embodiment, since the noise text is generated through a random process (i.e., superimposing a randomly generated pattern on the glyph string), it will be extremely difficult to develop an OCR method dedicated to scraping such text, thereby significantly enhancing the anti-scraping ability of the text data.

[0034] In an exemplary embodiment, the anti-scraping method 100 may further include randomly generating multiple patterns. Figure 3AA schematic diagram showing multiple patterns is presented, which is consistent with one or more exemplary embodiments of the present disclosure. Each pattern (e.g., pattern 302) in the exemplary multiple patterns 300 can be implemented by randomly generating a pixel array within the area of the font glyph size. In an exemplary embodiment, different random number generation methods can be employed to determine each pixel value, and the generated random numbers are mapped to the brightness values of the corresponding pixels (e.g., mapping 0 to a black pixel and 1 to a white pixel).

[0035] In an exemplary embodiment, the anti-scraping method 100 may further include superimposing each pattern in the multiple patterns 300 on the corresponding scrambled glyph in the multiple scrambled glyphs 226 respectively. Figure 3B A schematic diagram showing a glyph string with multiple patterns superimposed is presented, which is consistent with one or more exemplary embodiments of the present disclosure. By superimposing each pattern in the multiple patterns 300 on the corresponding scrambled glyph in the multiple scrambled glyphs 226, an exemplary superimposed glyph string 304 can be obtained. For example, by superimposing pattern 302 on Figure 2 the sixth scrambled glyph 234 shown, the superimposed glyph 306 can be obtained. In an exemplary embodiment, in an exemplary embodiment, by adding each pixel value of the sixth scrambled glyph 234 to the corresponding pixel value of pattern 302, the superimposition of pattern 302 and the sixth scrambled glyph 234 can be achieved. Therefore, in an exemplary embodiment, each glyph in the glyph string 304 will be mixed with different visual noises, so that the exemplary text data can more effectively resist scraping based on image processing technologies such as OCR.

[0036] In an exemplary embodiment, a user may request to access the text data in a web page. Therefore, it is necessary to extract the text data from a HyperText Markup Language (HTML) document. In an exemplary embodiment, HTML refers to the standard markup language for creating web pages. In an exemplary embodiment, the anti-scraping method 100 may further include extracting the text data from the HTML document. Therefore, it is necessary to distinguish the text data from the HTML tags (i.e., the markup language fragments used to indicate the start and end of the text data in the exemplary HTML document). For this purpose, in an exemplary embodiment, a binary string of the same size as the HTML code can be generated, which is set to 1 at the positions corresponding to the text string and 0 at other positions. For example, to send the string "Hello World" from a web page through method 100, the corresponding HTML code may be as follows:

[0037] <p align=”left”>Hello World

[0038] Therefore, an exemplary binary string can be generated to identify the text "HelloWorld" in the HTML code, as follows: 0000000000000000111110000111110000

[0040] Finally, method 100 may send the following exemplary text to the user:

[0041] ‘ <p align=”left”>kR6s# 4_f{Q

[0042] Wherein, the exemplary original string "Hello World" has been replaced with the exemplary scrambled string "kR6s#4_f{Q". In this way, in the exemplary embodiment, the original string "Hello World" is displayed to the user as the glyph string "Hello World" in the web page, but when manually copied or scraped by a machine, the actually transmitted string is the scrambled string "kR6s#4_f{Q".

[0043] Figure 4 An exemplary computer system 400 is shown, in which embodiments of the present invention or parts thereof may be implemented as computer-readable code, consistent with one or more exemplary embodiments of the present disclosure. For example, the different steps of method 100 may be implemented in computer system 400 using hardware, software, firmware, tangible computer-readable media storing instructions, or combinations thereof, and may be implemented in one or more computer systems or other processing systems. Hardware, software, or any combination thereof may embody Figure 1 any module and component in A - 3B.

[0044] If programmable logic is used, such logic may be executed on a commercial processing platform or a dedicated device. Those of ordinary skill in the art should understand that embodiments of the technical solutions of the present disclosure may be implemented on a variety of computer system configurations, including multi-core multi-processor systems, minicomputers, mainframe computers, interconnected or clustered computers with distributed functions, and pervasive computers or microcomputers that can be embedded in almost all devices.

[0045] For example, a computing device equipped with at least one processor device and memory may be used to implement the above embodiments. The processor device may be a single processor, multiple processors, or a combination thereof. The processor device may include one or more processor "cores".

[0046] One embodiment of the present invention will be described in conjunction with the exemplary computer system 400. After reading this specification, those skilled in the art will clearly understand how to implement the present invention using other computer systems and / or computer architectures. Although the operations may be described as sequential processes, in fact, some operations can be performed in parallel, simultaneously, and / or in a distributed environment, and the relevant program code can be stored locally or remotely for invocation by a single-processor or multi-processor machine. In addition, in some embodiments, the order of operations can be adjusted as long as it does not deviate from the essential spirit of the technical solution of the present disclosure.

[0047] The processor device 404 can be a dedicated processor device (e.g., a graphics processing unit) or a general-purpose processor device. Those skilled in the relevant art should understand that the processor device 404 can also be a single processor in a multi-core / multi-processor system - such systems can operate independently or as part of a cluster of computing devices or a server group. The processor device 404 can be connected to a communication infrastructure 406, such as a bus, message queue, network, or multi-core messaging scheme.

[0048] In an exemplary embodiment, the computer system 400 can include a display interface 402, such as a video connector, to transfer data to a display unit 430, such as a monitor. The computer system 400 can also include a main memory 408, such as random access memory (RAM), and can also include an auxiliary memory 410. The auxiliary memory 410 can include, for example, a hard disk drive 412 and a removable storage drive 414. The removable storage drive 414 can include a floppy disk drive, tape drive, optical disk drive, flash memory, etc. The removable storage drive 414 can read and write a removable storage unit 418 in a well-known manner. The removable storage unit 418 can include floppy disks, tapes, optical disks, etc., which can be read and written by the removable storage drive 414. Those skilled in the relevant art should understand that the removable storage unit 418 can include a computer-usable storage medium in which computer software and / or data are stored.

[0049] In an alternative embodiment, the auxiliary memory 410 can include other similar devices, allowing computer programs or other instructions to be loaded into the computer system 400. Such devices can include, for example, a removable storage unit 422 and an interface 420. Examples of such devices can include a program cartridge memory and a cartridge memory interface (such as those used in video game devices), a removable memory chip (such as an EPROM or PROM) and an associated socket, and other removable storage units 422 and interfaces 420 that allow software and data to be transferred from the removable storage unit 422 to the computer system 400.

[0050] The computer system 400 may also include a communication interface 424. The communication interface 424 allows software and data to be transferred between the computer system 400 and external devices. The communication interface 424 may include a modem, a network interface (such as an Ethernet card), a communication port, a PCMCIA slot and card, etc. The software and data transferred via the communication interface 424 may be in the form of signals, which may be electrical signals, electromagnetic signals, optical signals, or other signals that can be received by the communication interface 424. These signals may be provided to the communication interface 424 via a communication path 426. The communication path 426 carries the signals and may be implemented using wires or cables, optical fibers, telephone lines, cellular phone links, RF links, or other communication channels.

[0051] In this document, the terms "computer program medium" and "computer usable medium" are generally used to refer to media such as removable storage units 418, removable storage units 422, and hard disks installed in the hard disk drive 412. The computer program medium and the computer usable medium may also refer to memories, such as main memory 408 and auxiliary memory 410, which may be memory semiconductors (such as DRAM, etc.).

[0052] The computer program (also referred to as computer control logic) is stored in the main memory 408 and / or the auxiliary memory 410. In addition, the computer program may also be received via the communication interface 424. When such a computer program is executed, it enables the computer system 400 to implement various embodiments of the present disclosure discussed herein. Specifically, when the computer program is executed, it enables the processor device 404 to implement the processes of the present disclosure, such as each operation in the method 100 shown in the above Figure 1 flowchart. Therefore, such a computer program constitutes the controller of the computer system 400. In an exemplary embodiment of implementing the method 100 using software, the software may be stored in a computer program product and loaded into the computer system 400 via the removable storage drive 414, the interface 420, the hard disk drive 412, or the communication interface 424.

[0053] Embodiments of the present disclosure may also relate to a computer program product containing software stored on any computer usable medium. When the software is executed on one or more data processing devices, it may cause the data processing devices to operate in the manner described herein. Embodiments of the present disclosure may use any computer usable or readable medium. Examples of computer usable media include, but are not limited to, main storage devices (such as any type of random access memory), auxiliary storage devices (such as hard disk drives, floppy disks, CD ROMs, ZIP disks, magnetic tapes, magnetic storage devices, and optical storage devices, MEMS, nanotechnology storage devices, etc.).

[0054] The above embodiments illustrate the implementation manners of specific functions and their relationships through functional modules. For ease of description, the boundaries of these functional modules are arbitrarily defined herein. Other boundary definition manners can also be adopted as long as the described functions and their relationships can be properly executed.

[0055] Although the best mode and / or other examples have been described above, it should be understood that various modifications can be made to the present disclosure, and the technical solutions disclosed herein can be implemented in various forms and examples. In addition, the principles of this teaching can be applied to numerous scenarios, and only some of the applications are described herein. The appended claims are intended to claim all applications, modifications, and variations that fall within the scope of the essence of this technical teaching.

[0056] Unless otherwise specified, all measured values, numerical values, ratings, positions, amplitudes, dimensions, and other technical parameters listed in this specification (including the following claims) are approximate values rather than exact values. These values should be understood as reasonable values within the normal range of their respective technical fields and suitable for their related functional requirements.

[0057] The protection scope of the present invention is only defined by the appended claims. This scope is intended to and should be defined in accordance with the broadest reasonable interpretation of the claim terms, and should be interpreted in combination with this specification and the prosecution history, and cover all structural and functional equivalents.

[0058] Except as expressly stated otherwise, any description or illustration content - whether or not recorded in the claims - is not intended to or should not be construed as contributing any component, step, feature, object, benefit, advantage, or their equivalents to the public domain.

[0059] It should be understood that the terms and expressions used herein, unless otherwise specifically stated, are used in their ordinary meanings in the relevant technical fields. Relative terms such as "first" and "second" are only used to distinguish different entities or operations, and do not necessarily require or imply any actual association or sequential relationship between these entities or operations. The terms "comprising", "including", and any variations thereof are intended to mean non-exclusive inclusion, that is, a process, method, article, or device that includes the listed elements is not limited to these elements, but may also include other elements not expressly listed or inherent to such process, method, article, or device. Without further limitation, an element starting with "a" or "an" does not exclude the possibility of the existence of other identical elements in the process, method, article, or device that includes this element.

[0060] The abstract of the present disclosure is intended to enable the reader to quickly understand the core content of the technical disclosure. It has been clearly stated when submitting this abstract that it shall not be used to interpret or limit the scope or meaning of the claims. In addition, as can be seen from the foregoing specific embodiments, various technical features are described in combination in different embodiments. This approach is to simplify the disclosure and should not be construed as implying that the embodiments protected by the claims require more technical features than those explicitly recited in each claim. On the contrary, as shown in the appended claims, the essence of the invention may be embodied in only some of the features of a single disclosed embodiment. Therefore, the appended claims are incorporated into the detailed description, and each claim constitutes an independently claimed technical solution.

[0061] Although this specification describes various embodiments, these descriptions are exemplary rather than restrictive. It is obvious to those of ordinary skill in the art that more feasible embodiments can also be designed within the scope of the described embodiments. Although many combinations of the disclosed features are shown and discussed in the accompanying drawings and this detailed description, many other combinations of the disclosed features are also feasible. Unless otherwise clearly restricted, any feature in any embodiment can be used in combination with or substituted for features in other embodiments. Therefore, it should be understood that any feature shown and / or discussed in this disclosure can be implemented in any suitable manner. Accordingly, no other restrictions shall be imposed on this embodiment except as defined by the appended claims and their equivalents. In addition, various modifications and changes can be made within the scope of the appended claims.

Claims

1. An anti-scraping method for protecting text data, the text data including an original string, the anti-scraping method comprising: Receiving, by one or more processors, a request from a user to send the original string; In response to the received user request, generating, by the one or more processors, a scrambled font based on an original font, the original font including a plurality of font characters and a plurality of original glyphs, wherein: The nth original glyph among the plurality of original glyphs represents the nth font character among the plurality of font characters (where 1 ≤ n ≤ N, and N is the total number of the plurality of font characters); and Generating the scrambled font includes: generating a plurality of scrambled glyphs by randomly scrambling the plurality of original glyphs, the scrambled font including the plurality of font characters and the plurality of scrambled glyphs, wherein the nth scrambled glyph among the plurality of scrambled glyphs represents the nth font character; When the following conditions are met, generating, by the one or more processors, a scrambled string based on the original string by replacing the ith character in the original string with the nth font character (where 1 ≤ i ≤ M, and M is the length of the original string): The ith character corresponds to the jth font character among the plurality of font characters (where 1 ≤ j ≤ N); and The jth original glyph among the plurality of original glyphs corresponds to the nth scrambled glyph; Randomly generating, by the one or more processors, a plurality of patterns; Overlaying, by the one or more processors, each of the plurality of patterns on a corresponding one of the plurality of scrambled glyphs; Sending, by one or more processors, the scrambled font and the scrambled string to the user; and Displaying, using the scrambled font, the scrambled string on a display unit.

2. An anti-scraping method for protecting text data, the text data including an original string, the anti-scraping method comprising: Receiving, by one or more processors, a request from a user to send the original string; In response to the received user request, generating, by the one or more processors, a scrambled font based on an original font, the original font including a plurality of font characters and a plurality of original glyphs, wherein the nth original glyph among the plurality of original glyphs represents the nth font character among the plurality of font characters (where 1 ≤ n ≤ N, and N is the total number of the plurality of font characters); Generating, by the one or more processors, a scrambled string from the original string based on the scrambled font, wherein the scrambled string is different from the original string; and Sending, by the one or more processors, the scrambled font and the scrambled string to the user.

3. The anti-crawling method according to claim 2, wherein generating the disordered font includes: Generating a plurality of scrambled glyphs by randomly scrambling the plurality of original glyphs, the scrambled font including the plurality of font characters and the plurality of scrambled glyphs, wherein the nth scrambled glyph among the plurality of scrambled glyphs represents the nth font character.

4. The anti-crawling method according to claim 3, wherein generating the scrambled string includes: When the following conditions are met, replacing the ith character in the original string with the nth font character (where 1 ≤ i ≤ M, and M is the length of the original string): The i-th character corresponds to the j-th font character among the multiple font characters (where 1 ≤ j ≤ N); and The j-th original glyph among the multiple original glyphs corresponds to the n-th scrambled glyph.

5. The anti-scraping method according to claim 3, further comprising: Using the one or more processors to randomly generate a pattern; And Using the one or more processors to superimpose the pattern on the glyph string representing the scrambled string, wherein each glyph in the glyph string includes the corresponding scrambled glyph among the multiple scrambled glyphs.

6. The anti-scraping method according to claim 3, further comprising: Using the one or more processors to randomly generate a plurality of patterns; And Using the one or more processors to respectively superimpose each pattern among the plurality of patterns on the corresponding scrambled glyph among the multiple scrambled glyphs.

7. The anti-scraping method according to claim 2, further comprising: Using the one or more processors to extract text data from a HyperText Markup Language (HTML) document.

8. The anti-scraping method according to claim 2, further comprising: Displaying the scrambled string on a display unit using the scrambled font.

9. A system for protecting text data, the text data including an original string, the system comprising: A memory in which processor-readable instructions are stored; And One or more processors configured to access the memory and execute the processor-readable instructions, and when the instructions are executed by the one or more processors, configuring the one or more processors to perform the following method, the method comprising: Using one or more processors to receive a request from a user to send the original string; In response to the received user request, using the one or more processors to generate a scrambled font based on an original font, the original font including multiple font characters and multiple original glyphs, wherein the n-th original glyph among the multiple original glyphs represents the n-th font character among the multiple font characters (where 1 ≤ n ≤ N, and N is the total number of the multiple font characters); Using the one or more processors to generate a scrambled string from the original string based on the scrambled font, wherein the scrambled string is different from the original string; and Using the one or more processors to send the scrambled font and the scrambled string to the user.

10. The system according to claim 9, wherein generating the scrambled font comprises: Generating a plurality of scrambled glyphs by randomly scrambling the multiple original glyphs, the scrambled font including the multiple font characters and the multiple scrambled glyphs, wherein the n-th scrambled glyph among the multiple scrambled glyphs represents the n-th font character.

11. The system according to claim 10, wherein generating the scrambled string comprises: When the following conditions are met, replacing the i-th character in the original string with the n-th font character (where 1 ≤ i ≤ M, and M is the length of the original string): The i-th character corresponds to the j-th font character among the multiple font characters (where 1 ≤ j ≤ N); and The j-th original glyph among the multiple original glyphs corresponds to the n-th scrambled glyph.

12. The system according to claim 10, wherein the method further comprises: Randomly generate a pattern using the one or more processors; and Using the one or more processors, superimpose the pattern on the glyph string representing the scrambled string, wherein each glyph in the glyph string includes the corresponding scrambled glyph among the plurality of scrambled glyphs.

13. The system according to claim 10, wherein the method further comprises: Randomly generate a plurality of patterns using the one or more processors; and Using the one or more processors, respectively superimpose each pattern in the plurality of patterns on the corresponding scrambled glyph among the plurality of scrambled glyphs.

14. The system according to claim 9, wherein the method further comprises: Using the one or more processors, extract text data from a HyperText Markup Language (HTML) document.

15. The system according to claim 9, wherein the method further comprises: Display the scrambled string on a display unit using the scrambled font.

Citation Information

Patent Citations

  • Dynamic optimization of request parameters for proxy server

    US11140235B1

  • System and method for detecting unauthorized activity at an electronic device

    US11356433B2

  • Resisting anonymous scraping

    US9906514B1