https://github.com/chandler767/arbys-coupon-scraper
Golang concurrent web scraper for Arby's coupons.
https://github.com/chandler767/arbys-coupon-scraper
api arby-coupons arbys concurrent-programming coupons email email-marketing food go golang hacking marketing scraper web-scraper
Last synced: 4 months ago
JSON representation
Golang concurrent web scraper for Arby's coupons.
- Host: GitHub
- URL: https://github.com/chandler767/arbys-coupon-scraper
- Owner: chandler767
- Created: 2017-10-23T18:11:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-05-02T23:28:31.000Z (over 5 years ago)
- Last Synced: 2024-04-22T00:18:09.494Z (over 1 year ago)
- Topics: api, arby-coupons, arbys, concurrent-programming, coupons, email, email-marketing, food, go, golang, hacking, marketing, scraper, web-scraper
- Language: Go
- Homepage:
- Size: 5.86 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Arby's Coupon Scraper
This is a scraper built in Go that finds coupons for Arby's fast food restaurants. This takes advantage of the url formatting Arby's uses to display coupons for when customers need to print them from their email.
#### How it works:
1. Sign up for [Arby's email deals](https://arbys.com/get-deals).
2. Wait for a coupon to be emailed to you.
3. Click where it says "Click here for a printable version".
4. You should get a URL like this: `http://arbys.fbmta.com/members/ViewMailing.aspx?MailingID=27917361605`
5. Remove any query values after the MailingID in the URL.
- Notice that if you increase or decrease the MailingID value you can get a different coupon.
- The scraper works by starting at the MailingID you specify and increases the MailingID until it hits the total requests value.
- Each valid page is saved and the "Offer valid only at:" text and expiration dates are removed be default.
### How to use it:
1. `go run main.go` or `go run main.go -id 27917361605`
```
Usage:
-concurrent int
Maximum concurrent requests (default 45)
-format bool
Remove the 'Offer valid only at:' text and expiration dates. (default true)
-id int
Mailing ID to start on (default 27917361605)
-total int
Total requests (default 500)
-url string
URL to scape (default "http://arbys.fbmta.com/members/ViewMailing.aspx?MailingID=")
```
2. You should get an output like this:
```
...
2019/06/11 12:12:23 http://arbys.fbmta.com/members/ViewMailing.aspx?MailingID=27917362940
2019/06/11 12:12:23 http://arbys.fbmta.com/members/ViewMailing.aspx?MailingID=27917362958
2019/06/11 12:12:24 http://arbys.fbmta.com/members/ViewMailing.aspx?MailingID=27917363016
Connections: 500
Concurrent: 45
Total time: 2.796205411s
Average time: 5.59241ms
Total results: 30
```
3. HTML files are saved to the current working directory.